Reaction< ReactionThermo > Class Template Referenceabstract

Simple extension of ReactionThermo to handle reaction kinetics in addition to the equilibrium thermodynamics already handled. More...

Inheritance diagram for Reaction< ReactionThermo >:
Collaboration diagram for Reaction< ReactionThermo >:

Public Member Functions

 TypeName ("Reaction")
 Runtime type information. More...
 
 declareRunTimeSelectionTable (autoPtr, Reaction, dictionary,(const speciesTable &species, const HashPtrTable< ReactionThermo > &thermoDatabase, const dictionary &dict),(species, thermoDatabase, dict))
 
 declareRunTimeSelectionTable (autoPtr, Reaction, objectRegistry,(const speciesTable &species, const HashPtrTable< ReactionThermo > &thermoDatabase, const objectRegistry &ob, const dictionary &dict),(species, thermoDatabase, ob, dict))
 
 Reaction (const speciesTable &species, const List< specieCoeffs > &lhs, const List< specieCoeffs > &rhs, const HashPtrTable< ReactionThermo > &thermoDatabase)
 Construct from components. More...
 
 Reaction (const Reaction< ReactionThermo > &, const speciesTable &species)
 Construct as copy given new speciesTable. More...
 
 Reaction (const speciesTable &species, const HashPtrTable< ReactionThermo > &thermoDatabase, const dictionary &dict)
 Construct from dictionary. More...
 
virtual autoPtr< Reaction< ReactionThermo > > clone () const =0
 Construct and return a clone. More...
 
virtual autoPtr< Reaction< ReactionThermo > > clone (const speciesTable &species) const =0
 Construct and return a clone with new speciesTable. More...
 
virtual ~Reaction ()
 Destructor. More...
 
scalar Tlow () const
 Return the lower temperature limit for the reaction. More...
 
scalar Thigh () const
 Return the upper temperature limit for the reaction. More...
 
virtual void preEvaluate () const =0
 Pre-evaluation hook. More...
 
virtual void postEvaluate () const =0
 Post-evaluation hook. More...
 
void C (const scalar p, const scalar T, const scalarField &c, const label li, scalar &Cf, scalar &Cr) const
 Concentration powers. More...
 
scalar omega (const scalar p, const scalar T, const scalarField &c, const label li, scalar &omegaf, scalar &omegar) const
 Net reaction rate. More...
 
void dNdtByV (const scalar p, const scalar T, const scalarField &c, const label li, scalarField &dNdtByV, const bool reduced, const List< label > &c2s, const label Nsi0) const
 The net reaction rate for each species involved. More...
 
virtual scalar kf (const scalar p, const scalar T, const scalarField &c, const label li) const =0
 Forward rate constant. More...
 
virtual scalar kr (const scalar kf, const scalar p, const scalar T, const scalarField &c, const label li) const =0
 Reverse rate constant from the given forward rate constant. More...
 
virtual scalar kr (const scalar p, const scalar T, const scalarField &c, const label li) const =0
 Reverse rate constant. More...
 
virtual scalar dkfdT (const scalar p, const scalar T, const scalarField &c, const label li) const =0
 Temperature derivative of forward rate. More...
 
virtual scalar dkrdT (const scalar p, const scalar T, const scalarField &c, const label li, const scalar dkfdT, const scalar kr) const =0
 Temperature derivative of reverse rate. More...
 
virtual bool hasDkdc () const =0
 Does this reaction have concentration-dependent rate constants? More...
 
virtual void dkfdc (const scalar p, const scalar T, const scalarField &c, const label li, scalarField &dkfdc) const =0
 Concentration derivative of forward rate. More...
 
virtual void dkrdc (const scalar p, const scalar T, const scalarField &c, const label li, const scalarField &dkfdc, const scalar kr, scalarField &dkrdc) const =0
 Concentration derivative of reverse rate. More...
 
void ddNdtByVdcTp (const scalar p, const scalar T, const scalarField &c, const label li, scalarField &dNdtByV, scalarSquareMatrix &ddNdtByVdcTp, const bool reduced, const List< label > &c2s, const label csi0, const label Tsi, scalarField &cTpWork0, scalarField &cTpWork1) const
 Derivative of the net reaction rate for each species involved. More...
 
virtual void write (Ostream &) const
 Write. More...
 
void operator= (const Reaction< ReactionThermo > &)=delete
 Disallow default bitwise assignment. More...
 
- Public Member Functions inherited from reaction
 reaction (const speciesTable &species, const List< specieCoeffs > &lhs, const List< specieCoeffs > &rhs)
 Construct from components. More...
 
 reaction (const reaction &, const speciesTable &species)
 Construct as copy given new speciesTable. More...
 
 reaction (const speciesTable &species, const dictionary &dict)
 Construct from dictionary. More...
 
 ~reaction ()
 Destructor. More...
 
const wordname () const
 Return the name of the reaction. More...
 
const List< specieCoeffs > & lhs () const
 Return the components of the left hand side. More...
 
const List< specieCoeffs > & rhs () const
 Return the components of the right hand side. More...
 
const speciesTablespecies () const
 Return the specie list. More...
 
void write (Ostream &) const
 Write. More...
 
void operator= (const reaction &)=delete
 Disallow default bitwise assignment. More...
 

Static Public Member Functions

static autoPtr< Reaction< ReactionThermo > > New (const speciesTable &species, const HashPtrTable< ReactionThermo > &thermoDatabase, const dictionary &dict)
 Return a pointer to new patchField created on freestore. More...
 
static autoPtr< Reaction< ReactionThermo > > New (const speciesTable &species, const HashPtrTable< ReactionThermo > &thermoDatabase, const objectRegistry &ob, const dictionary &dict)
 Return a pointer to new patchField created on freestore. More...
 
static autoPtr< Reaction< ReactionThermo > > New (const speciesTable &species, const PtrList< ReactionThermo > &speciesThermo, const dictionary &dict)
 Return a pointer to new patchField created on freestore from dict. More...
 

Static Public Attributes

static scalar TlowDefault
 Default temperature limits of applicability of reaction rates. More...
 
static scalar ThighDefault
 
- Static Public Attributes inherited from reaction
static label nUnNamedReactions
 Number of un-named reactions. More...
 

Friends

Ostreamoperator (Ostream &, const Reaction< ReactionThermo > &)
 

Detailed Description

template<class ReactionThermo>
class Foam::Reaction< ReactionThermo >

Simple extension of ReactionThermo to handle reaction kinetics in addition to the equilibrium thermodynamics already handled.

Source files

Definition at line 55 of file Reaction.H.

Constructor & Destructor Documentation

◆ Reaction() [1/3]

Reaction ( const speciesTable species,
const List< specieCoeffs > &  lhs,
const List< specieCoeffs > &  rhs,
const HashPtrTable< ReactionThermo > &  thermoDatabase 
)

Construct from components.

Definition at line 95 of file Reaction.C.

Referenced by Reaction< ReactionThermo >::Reaction().

Here is the caller graph for this function:

◆ Reaction() [2/3]

Reaction ( const Reaction< ReactionThermo > &  r,
const speciesTable species 
)

Construct as copy given new speciesTable.

Definition at line 113 of file Reaction.C.

References Reaction< ReactionThermo >::Reaction().

Here is the call graph for this function:

◆ Reaction() [3/3]

Reaction ( const speciesTable species,
const HashPtrTable< ReactionThermo > &  thermoDatabase,
const dictionary dict 
)

Construct from dictionary.

Definition at line 127 of file Reaction.C.

References Reaction< ReactionThermo >::New().

Here is the call graph for this function:

◆ ~Reaction()

Member Function Documentation

◆ TypeName()

TypeName ( "Reaction< ReactionThermo >"  )

Runtime type information.

◆ declareRunTimeSelectionTable() [1/2]

declareRunTimeSelectionTable ( autoPtr  ,
Reaction< ReactionThermo >  ,
dictionary  ,
(const speciesTable &species, const HashPtrTable< ReactionThermo > &thermoDatabase, const dictionary &dict ,
(species, thermoDatabase, dict  
)

◆ declareRunTimeSelectionTable() [2/2]

declareRunTimeSelectionTable ( autoPtr  ,
Reaction< ReactionThermo >  ,
objectRegistry  ,
(const speciesTable &species, const HashPtrTable< ReactionThermo > &thermoDatabase, const objectRegistry &ob, const dictionary &dict ,
(species, thermoDatabase, ob, dict  
)

◆ clone() [1/2]

◆ clone() [2/2]

virtual autoPtr<Reaction<ReactionThermo> > clone ( const speciesTable species) const
pure virtual

◆ New() [1/3]

Foam::autoPtr< Foam::Reaction< ReactionThermo > > New ( const speciesTable species,
const HashPtrTable< ReactionThermo > &  thermoDatabase,
const dictionary dict 
)
static

Return a pointer to new patchField created on freestore.

from dictionary

Definition at line 147 of file Reaction.C.

References dict, Foam::exit(), Foam::FatalError, FatalErrorInFunction, dictionary::lookup(), Foam::nl, and string::removeTrailing().

Referenced by Reaction< ReactionThermo >::New(), and Reaction< ReactionThermo >::Reaction().

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

◆ New() [2/3]

Foam::autoPtr< Foam::Reaction< ReactionThermo > > New ( const speciesTable species,
const HashPtrTable< ReactionThermo > &  thermoDatabase,
const objectRegistry ob,
const dictionary dict 
)
static

Return a pointer to new patchField created on freestore.

from objectRegistry and dictionary

Definition at line 190 of file Reaction.C.

References dict, Foam::exit(), Foam::FatalError, FatalErrorInFunction, dictionary::lookup(), Foam::compressible::New(), Reaction< ReactionThermo >::New(), Foam::nl, and string::removeTrailing().

Here is the call graph for this function:

◆ New() [3/3]

Foam::autoPtr< Foam::Reaction< ReactionThermo > > New ( const speciesTable species,
const PtrList< ReactionThermo > &  speciesThermo,
const dictionary dict 
)
static

Return a pointer to new patchField created on freestore from dict.

This is used to construct a single reaction given a speciesThermo list from which a temporary thermoDatabase is created.

Definition at line 259 of file Reaction.C.

References Foam::clone(), forAll, HashTable< T *, Key, Hash >::insert(), Foam::name(), and Foam::compressible::New().

Here is the call graph for this function:

◆ Tlow()

Foam::scalar Tlow ( ) const
inline

Return the lower temperature limit for the reaction.

Definition at line 31 of file ReactionI.H.

Referenced by Reaction< ReactionThermo >::~Reaction().

Here is the caller graph for this function:

◆ Thigh()

Foam::scalar Thigh ( ) const
inline

Return the upper temperature limit for the reaction.

Definition at line 38 of file ReactionI.H.

References Ostream::write().

Referenced by Reaction< ReactionThermo >::~Reaction().

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

◆ preEvaluate()

◆ postEvaluate()

virtual void postEvaluate ( ) const
pure virtual

◆ C()

void C ( const scalar  p,
const scalar  T,
const scalarField c,
const label  li,
scalar &  Cf,
scalar &  Cr 
) const

Concentration powers.

Definition at line 290 of file Reaction.C.

References forAll, Foam::max(), Reaction< ReactionThermo >::omega(), and Foam::pow().

Referenced by Reaction< ReactionThermo >::write(), and Reaction< ReactionThermo >::~Reaction().

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

◆ omega()

Foam::scalar omega ( const scalar  p,
const scalar  T,
const scalarField c,
const label  li,
scalar &  omegaf,
scalar &  omegar 
) const

◆ dNdtByV()

void dNdtByV ( const scalar  p,
const scalar  T,
const scalarField c,
const label  li,
scalarField dNdtByV,
const bool  reduced,
const List< label > &  c2s,
const label  Nsi0 
) const

The net reaction rate for each species involved.

Definition at line 347 of file Reaction.C.

References Reaction< ReactionThermo >::ddNdtByVdcTp(), and forAll.

Referenced by Reaction< ReactionThermo >::omega(), and Reaction< ReactionThermo >::~Reaction().

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

◆ kf()

virtual scalar kf ( const scalar  p,
const scalar  T,
const scalarField c,
const label  li 
) const
pure virtual

◆ kr() [1/2]

virtual scalar kr ( const scalar  kf,
const scalar  p,
const scalar  T,
const scalarField c,
const label  li 
) const
pure virtual

◆ kr() [2/2]

virtual scalar kr ( const scalar  p,
const scalar  T,
const scalarField c,
const label  li 
) const
pure virtual

◆ dkfdT()

virtual scalar dkfdT ( const scalar  p,
const scalar  T,
const scalarField c,
const label  li 
) const
pure virtual

◆ dkrdT()

virtual scalar dkrdT ( const scalar  p,
const scalar  T,
const scalarField c,
const label  li,
const scalar  dkfdT,
const scalar  kr 
) const
pure virtual

◆ hasDkdc()

virtual bool hasDkdc ( ) const
pure virtual

◆ dkfdc()

virtual void dkfdc ( const scalar  p,
const scalar  T,
const scalarField c,
const label  li,
scalarField dkfdc 
) const
pure virtual

◆ dkrdc()

virtual void dkrdc ( const scalar  p,
const scalar  T,
const scalarField c,
const label  li,
const scalarField dkfdc,
const scalar  kr,
scalarField dkrdc 
) const
pure virtual

◆ ddNdtByVdcTp()

void ddNdtByVdcTp ( const scalar  p,
const scalar  T,
const scalarField c,
const label  li,
scalarField dNdtByV,
scalarSquareMatrix ddNdtByVdcTp,
const bool  reduced,
const List< label > &  c2s,
const label  csi0,
const label  Tsi,
scalarField cTpWork0,
scalarField cTpWork1 
) const

Derivative of the net reaction rate for each species involved.

w.r.t. the concentration and temperature

Definition at line 378 of file Reaction.C.

References forAll, Foam::max(), and Foam::pow().

Referenced by Reaction< ReactionThermo >::dNdtByV(), and Reaction< ReactionThermo >::~Reaction().

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

◆ write()

void write ( Ostream os) const
virtual

◆ operator=()

void operator= ( const Reaction< ReactionThermo > &  )
delete

Disallow default bitwise assignment.

Referenced by Reaction< ReactionThermo >::~Reaction().

Here is the caller graph for this function:

Friends And Related Function Documentation

◆ operator

Ostream& operator ( Ostream ,
const Reaction< ReactionThermo > &   
)
friend

Member Data Documentation

◆ TlowDefault

Foam::scalar TlowDefault
static

Default temperature limits of applicability of reaction rates.

Definition at line 79 of file Reaction.H.

◆ ThighDefault

Foam::scalar ThighDefault
static

Definition at line 79 of file Reaction.H.


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