XiModel Class Referenceabstract

Base-class for all Xi models used by the b-Xi combustion model. More...

Inheritance diagram for XiModel:
Collaboration diagram for XiModel:

Public Member Functions

 TypeName ("XiModel")
 Runtime type information. More...
 
 declareRunTimeSelectionTable (autoPtr, XiModel, dictionary,(const dictionary &dict, const psiuMulticomponentThermo &thermo, const fluidThermoThermophysicalTransportModel &turbulence, const volScalarField &Su),(dict, thermo, turbulence, Su))
 
 XiModel (const psiuMulticomponentThermo &thermo, const fluidThermoThermophysicalTransportModel &turbulence, const volScalarField &Su)
 Construct from components. More...
 
 XiModel (const XiModel &)=delete
 Disallow default bitwise copy construction. More...
 
virtual ~XiModel ()
 Destructor. More...
 
virtual const volScalarFieldXi () const
 Return the flame-wrinkling Xi. More...
 
virtual tmp< volScalarFieldDb () const
 Return the flame diffusivity. More...
 
virtual void addXi (multivariateSurfaceInterpolationScheme< scalar >::fieldTable &)
 Add Xi to the multivariateSurfaceInterpolationScheme table. More...
 
virtual void reset ()
 Reset Xi to the unburnt state (1) More...
 
virtual void correct ()=0
 Correct the flame-wrinkling Xi. More...
 
bool read (const dictionary &combustionProperties)
 Update properties from the given combustionProperties dictionary. More...
 
void operator= (const XiModel &)=delete
 Disallow default bitwise assignment. More...
 
 TypeName ("XiModel")
 Runtime type information. More...
 
 declareRunTimeSelectionTable (autoPtr, XiModel, dictionary,(const dictionary &XiProperties, const psiuMulticomponentThermo &thermo, const compressible::RASModel &turbulence, const volScalarField &Su, const volScalarField &rho, const volScalarField &b, const surfaceScalarField &phi),(XiProperties, thermo, turbulence, Su, rho, b, phi))
 
 XiModel (const dictionary &XiProperties, const psiuMulticomponentThermo &thermo, const compressible::RASModel &turbulence, const volScalarField &Su, const volScalarField &rho, const volScalarField &b, const surfaceScalarField &phi)
 Construct from components. More...
 
 XiModel (const XiModel &)=delete
 Disallow default bitwise copy construction. More...
 
virtual ~XiModel ()
 Destructor. More...
 
virtual const volScalarFieldXi () const
 Return the flame-wrinkling Xi. More...
 
virtual tmp< volScalarFieldDb () const
 Return the flame diffusivity. More...
 
virtual void addXi (multivariateSurfaceInterpolationScheme< scalar >::fieldTable &)
 Add Xi to the multivariateSurfaceInterpolationScheme table. More...
 
virtual void correct ()=0
 Correct the flame-wrinkling Xi. More...
 
virtual void correct (const fv::convectionScheme< scalar > &)
 Correct the flame-wrinkling Xi using the given convection scheme. More...
 
virtual bool read (const dictionary &XiProperties)=0
 Update properties from given dictionary. More...
 
virtual void writeFields ()=0
 Write fields related to Xi model. More...
 
void operator= (const XiModel &)=delete
 Disallow default bitwise assignment. More...
 

Static Public Member Functions

static autoPtr< XiModelNew (const dictionary &combustionProperties, const psiuMulticomponentThermo &thermo, const fluidThermoThermophysicalTransportModel &turbulence, const volScalarField &Su)
 Return a reference to the selected Xi model. More...
 
static autoPtr< XiModelNew (const dictionary &XiProperties, const psiuMulticomponentThermo &thermo, const compressible::RASModel &turbulence, const volScalarField &Su, const volScalarField &rho, const volScalarField &b, const surfaceScalarField &phi)
 Return a reference to the selected Xi model. More...
 

Protected Member Functions

virtual bool readCoeffs (const dictionary &dict)=0
 Update coefficients from given dictionary. More...
 

Protected Attributes

const psiuMulticomponentThermothermo_
 Thermo. More...
 
const fluidThermoThermophysicalTransportModelthermoTransport_
 Thermo-physical transport. More...
 
const compressibleMomentumTransportModelturbulence_
 Turbulence. More...
 
const volScalarFieldSu_
 
const volScalarFieldrho_
 
const volScalarFieldb_
 
volScalarField Xi_
 Flame wrinkling field. More...
 
dictionary XiModelCoeffs_
 
const compressible::RASModelturbulence_
 
const surfaceScalarFieldphi_
 

Detailed Description

Base-class for all Xi models used by the b-Xi combustion model.

Base-class for all Xi models used by the b-Xi combustion model. See Technical Report SH/RE/01R for details on the PDR modelling.

References:

    Weller, H. G. (1993).
    The development of a new flame area combustion model
    using conditional averaging.
    Thermo-fluids section report TF 9307.

    Weller, H. G., Tabor, G., Gosman, A. D., & Fureby, C. (1998, January).
    Application of a flame-wrinkling LES combustion model
    to a turbulent mixing layer.
    In Symposium (International) on combustion
    (Vol. 27, No. 1, pp. 899-907). Elsevier.

Xi is given through an algebraic expression (Foam::XiModels::algebraic), by solving a transport equation (Foam::XiModels::transport.H) or a fixed value (Foam::XiModels::fixed).

In the algebraic and transport methods $\Xi_{eq}$ is calculated in similar way. In the algebraic approach, $\Xi_{eq}$ is the value used in the $ b $ transport equation.

$\Xi_{eq}$ is calculated as follows:

$\Xi_{eq} = 1 + (1 + 2\Xi_{coeff}(0.5 - \dwea{b}))(\Xi^* - 1)$

where:

$ \dwea{b} $ is the regress variable.

$ \Xi_{coeff} $ is a model constant.

$ \Xi^* $ is the total equilibrium wrinkling combining the effects of the flame instability and turbulence interaction and is given by

\[ \Xi^* = \frac {R}{R - G_\eta - G_{in}} \]

where:

$ G_\eta $ is the generation rate of wrinkling due to turbulence interaction.

$ G_{in} = \kappa \rho_{u}/\rho_{b} $ is the generation rate due to the flame instability.

By adding the removal rates of the two effects:

\[ R = G_\eta \frac{\Xi_{\eta_{eq}}}{\Xi_{\eta_{eq}} - 1} + G_{in} \frac{\Xi_{{in}_{eq}}}{\Xi_{{in}_{eq}} - 1} \]

where:

$ R $ is the total removal.

$ G_\eta $ is a model constant.

$ \Xi_{\eta_{eq}} $ is the flame wrinkling due to turbulence.

$ \Xi_{{in}_{eq}} $ is the equilibrium level of the flame wrinkling generated by instability. It is a constant (default 2.5).

Source files

Xi is given through an algebraic expression (algebraic.H), by solving a transport equation (transport.H) or a fixed value (fixed.H).

See report TR/HGW/10 for details on the Weller two equations model.

In the algebraic and transport methods $\Xi_{eq}$ is calculated in similar way. In the algebraic approach, $\Xi_{eq}$ is the value used in the $ b $ transport equation.

$\Xi_{eq}$ is calculated as follows:

$\Xi_{eq} = 1 + (1 + 2\Xi_{coeff}(0.5 - \dwea{b}))(\Xi^* - 1)$

where:

$ \dwea{b} $ is the regress variable.

$ \Xi_{coeff} $ is a model constant.

$ \Xi^* $ is the total equilibrium wrinkling combining the effects of the flame instability and turbulence interaction and is given by

\[ \Xi^* = \frac {R}{R - G_\eta - G_{in}} \]

where:

$ G_\eta $ is the generation rate of wrinkling due to turbulence interaction.

$ G_{in} = \kappa \rho_{u}/\rho_{b} $ is the generation rate due to the flame instability.

By adding the removal rates of the two effects:

\[ R = G_\eta \frac{\Xi_{\eta_{eq}}}{\Xi_{\eta_{eq}} - 1} + G_{in} \frac{\Xi_{{in}_{eq}}}{\Xi_{{in}_{eq}} - 1} \]

where:

$ R $ is the total removal.

$ G_\eta $ is a model constant.

$ \Xi_{\eta_{eq}} $ is the flame wrinkling due to turbulence.

$ \Xi_{{in}_{eq}} $ is the equilibrium level of the flame wrinkling generated by instability. It is a constant (default 2.5).

Source files

Definition at line 116 of file XiModel.H.

Constructor & Destructor Documentation

◆ XiModel() [1/4]

XiModel ( const psiuMulticomponentThermo thermo,
const fluidThermoThermophysicalTransportModel turbulence,
const volScalarField Su 
)

Construct from components.

Definition at line 47 of file XiModel.C.

◆ XiModel() [2/4]

XiModel ( const XiModel )
delete

Disallow default bitwise copy construction.

◆ ~XiModel() [1/2]

~XiModel ( )
virtual

Destructor.

Definition at line 78 of file XiModel.C.

◆ XiModel() [3/4]

XiModel ( const dictionary XiProperties,
const psiuMulticomponentThermo thermo,
const compressible::RASModel turbulence,
const volScalarField Su,
const volScalarField rho,
const volScalarField b,
const surfaceScalarField phi 
)

Construct from components.

Definition at line 39 of file XiModel.C.

◆ XiModel() [4/4]

XiModel ( const XiModel )
delete

Disallow default bitwise copy construction.

◆ ~XiModel() [2/2]

virtual ~XiModel ( )
virtual

Destructor.

Member Function Documentation

◆ readCoeffs()

bool readCoeffs ( const dictionary dict)
protectedpure virtual

Update coefficients from given dictionary.

Implemented in uniformConstant, transport, and equilibrium.

Definition at line 39 of file XiModel.C.

Referenced by equilibrium::readCoeffs(), transport::readCoeffs(), and uniformConstant::readCoeffs().

Here is the caller graph for this function:

◆ TypeName() [1/2]

TypeName ( "XiModel"  )

Runtime type information.

◆ declareRunTimeSelectionTable() [1/2]

declareRunTimeSelectionTable ( autoPtr  ,
XiModel  ,
dictionary  ,
(const dictionary &dict, const psiuMulticomponentThermo &thermo, const fluidThermoThermophysicalTransportModel &turbulence, const volScalarField &Su)  ,
(dict, thermo, turbulence, Su)   
)

◆ New() [1/2]

Foam::autoPtr< Foam::XiModel > New ( const dictionary combustionProperties,
const psiuMulticomponentThermo thermo,
const fluidThermoThermophysicalTransportModel turbulence,
const volScalarField Su 
)
static

Return a reference to the selected Xi model.

Definition at line 30 of file XiModelNew.C.

References Foam::endl(), Foam::exit(), Foam::FatalIOError, FatalIOErrorInFunction, Foam::Info, dictionary::lookup(), Foam::nl, dictionary::optionalSubDict(), Foam::fvc::Su(), dictionary::subDict(), thermo, and turbulence().

Here is the call graph for this function:

◆ Xi() [1/2]

virtual const volScalarField& Xi ( ) const
inlinevirtual

Return the flame-wrinkling Xi.

Definition at line 209 of file XiModel.H.

References XiModel::Xi_.

◆ Db() [1/2]

virtual tmp<volScalarField> Db ( ) const
inlinevirtual

Return the flame diffusivity.

Reimplemented in transport, equilibrium, transport, and algebraic.

Definition at line 215 of file XiModel.H.

References GeometricField< Type, GeoMesh, PrimitiveField >::New(), momentumTransportModel::nuEff(), compressibleMomentumTransportModel::rho(), and XiModel::turbulence_.

Here is the call graph for this function:

◆ addXi() [1/2]

virtual void addXi ( multivariateSurfaceInterpolationScheme< scalar >::fieldTable &  )
inlinevirtual

Add Xi to the multivariateSurfaceInterpolationScheme table.

if required

Reimplemented in transport, and transport.

Definition at line 226 of file XiModel.H.

◆ reset()

void reset ( )
virtual

Reset Xi to the unburnt state (1)

Definition at line 93 of file XiModel.C.

◆ correct() [1/3]

virtual void correct ( )
pure virtual

Correct the flame-wrinkling Xi.

Implemented in uniformConstant, transport, equilibrium, transport, fixed, and algebraic.

Referenced by XiModel::correct().

Here is the caller graph for this function:

◆ read() [1/2]

bool read ( const dictionary combustionProperties)

Update properties from the given combustionProperties dictionary.

Definition at line 84 of file XiModel.C.

References dictionary::optionalSubDict(), dictionary::subDict(), and Foam::type().

Referenced by algebraic::read(), fixed::read(), and transport::read().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ operator=() [1/2]

void operator= ( const XiModel )
delete

Disallow default bitwise assignment.

◆ TypeName() [2/2]

TypeName ( "XiModel"  )

Runtime type information.

◆ declareRunTimeSelectionTable() [2/2]

declareRunTimeSelectionTable ( autoPtr  ,
XiModel  ,
dictionary  ,
(const dictionary &XiProperties, const psiuMulticomponentThermo &thermo, const compressible::RASModel &turbulence, const volScalarField &Su, const volScalarField &rho, const volScalarField &b, const surfaceScalarField &phi)  ,
(XiProperties, thermo, turbulence, Su, rho, b, phi)   
)

◆ New() [2/2]

Foam::autoPtr< Foam::XiModel > New ( const dictionary XiProperties,
const psiuMulticomponentThermo thermo,
const compressible::RASModel turbulence,
const volScalarField Su,
const volScalarField rho,
const volScalarField b,
const surfaceScalarField phi 
)
static

Return a reference to the selected Xi model.

Definition at line 30 of file XiModelNew.C.

References b, Foam::endl(), Foam::exit(), Foam::FatalIOError, FatalIOErrorInFunction, Foam::Info, dictionary::lookup(), Foam::nl, rho, Foam::fvc::Su(), thermo, and turbulence().

Here is the call graph for this function:

◆ Xi() [2/2]

virtual const volScalarField& Xi ( ) const
inlinevirtual

Return the flame-wrinkling Xi.

Definition at line 202 of file XiModel.H.

References XiModel::Xi_.

◆ Db() [2/2]

virtual tmp<volScalarField> Db ( ) const
inlinevirtual

Return the flame diffusivity.

Reimplemented in transport, equilibrium, transport, and algebraic.

Definition at line 208 of file XiModel.H.

References GeometricField< Type, GeoMesh, PrimitiveField >::New(), momentumTransportModel::nuEff(), compressibleMomentumTransportModel::rho(), and XiModel::turbulence_.

Here is the call graph for this function:

◆ addXi() [2/2]

virtual void addXi ( multivariateSurfaceInterpolationScheme< scalar >::fieldTable &  )
inlinevirtual

Add Xi to the multivariateSurfaceInterpolationScheme table.

if required

Reimplemented in transport, and transport.

Definition at line 219 of file XiModel.H.

◆ correct() [2/3]

virtual void correct ( )
pure virtual

Correct the flame-wrinkling Xi.

Implemented in uniformConstant, transport, equilibrium, transport, fixed, and algebraic.

◆ correct() [3/3]

virtual void correct ( const fv::convectionScheme< scalar > &  )
inlinevirtual

Correct the flame-wrinkling Xi using the given convection scheme.

Reimplemented in transport.

Definition at line 229 of file XiModel.H.

References XiModel::correct().

Here is the call graph for this function:

◆ read() [2/2]

virtual bool read ( const dictionary XiProperties)
pure virtual

Update properties from given dictionary.

Implemented in transport, fixed, and algebraic.

◆ writeFields()

virtual void writeFields ( )
pure virtual

Write fields related to Xi model.

Implemented in transport, fixed, and algebraic.

◆ operator=() [2/2]

void operator= ( const XiModel )
delete

Disallow default bitwise assignment.

Member Data Documentation

◆ thermo_

const psiuMulticomponentThermo & thermo_
protected

Thermo.

Definition at line 124 of file XiModel.H.

◆ thermoTransport_

const fluidThermoThermophysicalTransportModel& thermoTransport_
protected

Thermo-physical transport.

Definition at line 127 of file XiModel.H.

◆ turbulence_ [1/2]

const compressibleMomentumTransportModel& turbulence_
protected

Turbulence.

Definition at line 130 of file XiModel.H.

Referenced by XiModel::Db().

◆ Su_

const volScalarField & Su_
protected

Definition at line 132 of file XiModel.H.

◆ rho_

const volScalarField & rho_
protected

Definition at line 134 of file XiModel.H.

◆ b_

const volScalarField & b_
protected

Definition at line 136 of file XiModel.H.

◆ Xi_

volScalarField Xi_
protected

◆ XiModelCoeffs_

dictionary XiModelCoeffs_
protected

Definition at line 115 of file XiModel.H.

◆ turbulence_ [2/2]

const compressible::RASModel& turbulence_
protected

Definition at line 118 of file XiModel.H.

◆ phi_

const surfaceScalarField& phi_
protected

Definition at line 122 of file XiModel.H.


The documentation for this class was generated from the following files: