XiProfile Class Referenceabstract

Base class for flame wrinkling profiles. More...

Inheritance diagram for XiProfile:
Collaboration diagram for XiProfile:

Public Member Functions

 TypeName ("XiProfile")
 Runtime type information. More...
 
 declareRunTimeSelectionTable (autoPtr, XiProfile, dictionary,(const dictionary &dict, const volScalarField &b),(dict, b))
 
 XiProfile (const volScalarField &b)
 Construct from components. More...
 
 XiProfile (const XiProfile &)=delete
 Disallow default bitwise copy construction. More...
 
virtual ~XiProfile ()
 Destructor. More...
 
virtual tmp< volScalarFieldprofile () const =0
 Return the flame-wrinkling profile. More...
 
bool read (const dictionary &XiProperties)
 Update properties from the given XiProperties dictionary. More...
 
void operator= (const XiProfile &)=delete
 Disallow default bitwise assignment. More...
 

Static Public Member Functions

static autoPtr< XiProfileNew (const dictionary &XiProperties, const volScalarField &b)
 Return a reference to the selected XiEq model. More...
 

Protected Member Functions

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

Protected Attributes

const volScalarFieldb_
 

Detailed Description

Base class for flame wrinkling profiles.

Flame wrinkling profiles are functions of b only for simplicity and numerical stability. The profiles are usually formulated so that the flame wrinkling Xi is equal to the equilibrium value in the middle of the flame, i.e. where b = 0.5, but this does not guarantee that the flame propagates at the correct speed with heat release due to the slight asymmetry in b distribution caused by the heat release dilatation.

In principle a better distribution function for Xi would be based directly on the laplacian(b) such that Xi equals the equilibrium value at the point in the flame where the Laplacian of b is 0, e.g.

    Xi = max(XiEq + 0.1*XiEqrho*fvc::laplacian(Db, b)/(rhou*Db*sqr(mgb)), 1)

While this does provide the correct speed for a well resolved 1D flame it is prone to cause serious numerical instability and is not applicable to real flame simulations.

A more practical approach to correct the flame speed for the dilatation effect would be to introduce a small amount of off-centring to the Xi distribution as a function of b which would need to be a function of at least the density ratio and possibly the equilibrium Xi also – this is the subject of current research.

Source files

Definition at line 72 of file XiProfile.H.

Constructor & Destructor Documentation

◆ XiProfile() [1/2]

XiProfile ( const volScalarField b)

Construct from components.

Definition at line 47 of file XiProfile.C.

◆ XiProfile() [2/2]

XiProfile ( const XiProfile )
delete

Disallow default bitwise copy construction.

◆ ~XiProfile()

~XiProfile ( )
virtual

Destructor.

Definition at line 55 of file XiProfile.C.

Member Function Documentation

◆ readCoeffs()

bool readCoeffs ( const dictionary dict)
protectedpure virtual

Update coefficients from given dictionary.

Implemented in uniform, linear, and cubic.

Definition at line 39 of file XiProfile.C.

Referenced by cubic::readCoeffs(), linear::readCoeffs(), and uniform::readCoeffs().

Here is the caller graph for this function:

◆ TypeName()

TypeName ( "XiProfile"  )

Runtime type information.

◆ declareRunTimeSelectionTable()

declareRunTimeSelectionTable ( autoPtr  ,
XiProfile  ,
dictionary  ,
(const dictionary &dict, const volScalarField &b ,
(dict, b  
)

◆ New()

Foam::autoPtr< Foam::XiProfile > New ( const dictionary XiProperties,
const volScalarField b 
)
static

Return a reference to the selected XiEq model.

Definition at line 30 of file XiProfileNew.C.

References b, Foam::endl(), Foam::exit(), Foam::FatalIOError, FatalIOErrorInFunction, Foam::indentOrNl(), Foam::Info, dictionary::lookup(), Foam::nl, dictionary::optionalTypeDict(), and dictionary::subDict().

Here is the call graph for this function:

◆ profile()

virtual tmp<volScalarField> profile ( ) const
pure virtual

Return the flame-wrinkling profile.

Implemented in uniform, linear, and cubic.

◆ read()

bool read ( const dictionary XiProperties)

Update properties from the given XiProperties dictionary.

Definition at line 61 of file XiProfile.C.

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

Here is the call graph for this function:

◆ operator=()

void operator= ( const XiProfile )
delete

Disallow default bitwise assignment.

Member Data Documentation

◆ b_

const volScalarField& b_
protected

Definition at line 79 of file XiProfile.H.


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