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 omega (const scalar p, const scalar T, const scalarField &c, const label li, scalarField &dcdt) const
 Net reaction rate for individual species. More...
 
scalar omega (const scalar p, const scalar T, const scalarField &c, const label li, scalar &omegaf, scalar &omegar) const
 Net reaction rate. 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 kfwd, 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...
 
void dwdc (const scalar p, const scalar T, const scalarField &c, const label li, scalarSquareMatrix &J, scalarField &dcdt, scalar &omegaI, scalar &kfwd, scalar &kbwd, const bool reduced, const List< label > &c2s) const
 Derivative of the net reaction rate for each species involved. More...
 
void dwdT (const scalar p, const scalar T, const scalarField &c, const label li, const scalar omegaI, const scalar kfwd, const scalar kbwd, scalarSquareMatrix &J, const bool reduced, const List< label > &c2s, const label indexT) const
 Derivative of the net reaction rate for each species involved. 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 const List< Tuple2< label, scalar > > & beta () const =0
 Third-body efficiencies (beta = 1-alpha) More...
 
virtual void dcidc (const scalar p, const scalar T, const scalarField &c, const label li, scalarField &dcidc) const =0
 Species concentration derivative of the pressure dependent term. More...
 
virtual scalar dcidT (const scalar p, const scalar T, const scalarField &c, const label li) const =0
 Temperature derivative of the pressure dependent term. 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

◆ omega() [1/2]

◆ omega() [2/2]

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

Net reaction rate.

Definition at line 319 of file Reaction.C.

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

Here is the call 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  kfwd,
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

◆ dwdc()

void dwdc ( const scalar  p,
const scalar  T,
const scalarField c,
const label  li,
scalarSquareMatrix J,
scalarField dcdt,
scalar &  omegaI,
scalar &  kfwd,
scalar &  kbwd,
const bool  reduced,
const List< label > &  c2s 
) const

Derivative of the net reaction rate for each species involved.

w.r.t. the species concentration

Definition at line 352 of file Reaction.C.

References Reaction< ReactionThermo >::dwdT(), UList< T >::first(), forAll, Foam::max(), Foam::notNull(), Foam::pow(), and List< T >::size().

Referenced by TDACChemistryModel< ThermoType >::jacobian(), standardChemistryModel< ThermoType >::jacobian(), Reaction< ReactionThermo >::omega(), and Reaction< ReactionThermo >::~Reaction().

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

◆ dwdT()

void dwdT ( const scalar  p,
const scalar  T,
const scalarField c,
const label  li,
const scalar  omegaI,
const scalar  kfwd,
const scalar  kbwd,
scalarSquareMatrix J,
const bool  reduced,
const List< label > &  c2s,
const label  indexT 
) const

Derivative of the net reaction rate for each species involved.

w.r.t. the temperature

Definition at line 499 of file Reaction.C.

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

Referenced by Reaction< ReactionThermo >::dwdc(), TDACChemistryModel< ThermoType >::jacobian(), standardChemistryModel< ThermoType >::jacobian(), and Reaction< ReactionThermo >::~Reaction().

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

◆ 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

◆ beta()

virtual const List<Tuple2<label, scalar> >& beta ( ) const
pure virtual

Third-body efficiencies (beta = 1-alpha)

non-empty only for third-body reactions with enhanced molecularity (alpha != 1)

Implemented in NonEquilibriumReversibleReaction< ReactionThermo, ReactionRate >, IrreversibleReaction< ReactionThermo, ReactionRate >, ReversibleReaction< ReactionThermo, ReactionRate >, and ReactionProxy< ReactionThermo >.

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

Here is the caller graph for this function:

◆ dcidc()

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

◆ dcidT()

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

◆ 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: