NonEquilibriumReversibleReaction< ReactionThermo, ReactionRate > Class Template Reference

Simple extension of Reaction to handle reversible reactions using equilibrium thermodynamics. More...

Inheritance diagram for NonEquilibriumReversibleReaction< ReactionThermo, ReactionRate >:
Collaboration diagram for NonEquilibriumReversibleReaction< ReactionThermo, ReactionRate >:

Public Member Functions

 TypeName ("nonEquilibriumReversible")
 Runtime type information. More...
 
 NonEquilibriumReversibleReaction (const Reaction< ReactionThermo > &reaction, const ReactionRate &forwardReactionRate, const ReactionRate &reverseReactionRate)
 Construct from components. More...
 
 NonEquilibriumReversibleReaction (const NonEquilibriumReversibleReaction< ReactionThermo, ReactionRate > &, const speciesTable &species)
 Construct as copy given new speciesTable. More...
 
 NonEquilibriumReversibleReaction (const speciesTable &species, const HashPtrTable< ReactionThermo > &thermoDatabase, const dictionary &dict)
 Construct from dictionary. More...
 
 NonEquilibriumReversibleReaction (const speciesTable &species, const HashPtrTable< ReactionThermo > &thermoDatabase, const objectRegistry &ob, const dictionary &dict)
 Construct from objectRegistry and dictionary. More...
 
virtual autoPtr< Reaction< ReactionThermo > > clone () const
 Construct and return a clone. More...
 
virtual autoPtr< Reaction< ReactionThermo > > clone (const speciesTable &species) const
 Construct and return a clone with new speciesTable. More...
 
virtual ~NonEquilibriumReversibleReaction ()
 Destructor. More...
 
virtual void preEvaluate () const
 Pre-evaluation hook. More...
 
virtual void postEvaluate () const
 Post-evaluation hook. More...
 
virtual scalar kf (const scalar p, const scalar T, const scalarField &c, const label li) const
 Forward rate constant. More...
 
virtual scalar kr (const scalar kfwd, const scalar p, const scalar T, const scalarField &c, const label li) const
 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
 Reverse rate constant. More...
 
virtual scalar dkfdT (const scalar p, const scalar T, const scalarField &c, const label li) const
 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
 Temperature derivative of backward rate. More...
 
virtual bool hasDkdc () const
 Does this reaction have concentration-dependent rate constants? More...
 
void dkfdc (const scalar p, const scalar T, const scalarField &c, const label li, scalarField &dkfdc) const
 Concentration derivative of forward rate. More...
 
void dkrdc (const scalar p, const scalar T, const scalarField &c, const label li, const scalarField &dkfdc, const scalar kr, scalarField &dkrdc) const
 Concentration derivative of reverse rate. More...
 
virtual void write (Ostream &) const
 Write. More...
 
void operator= (const NonEquilibriumReversibleReaction< ReactionThermo, ReactionRate > &)=delete
 Disallow default bitwise assignment. More...
 
- Public Member Functions inherited from Reaction< ReactionThermo >
 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 ~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...
 
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...
 
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...
 
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...
 

Additional Inherited Members

- Static Public Member Functions inherited from Reaction< ReactionThermo >
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 inherited from Reaction< ReactionThermo >
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...
 

Detailed Description

template<class ReactionThermo, class ReactionRate>
class Foam::NonEquilibriumReversibleReaction< ReactionThermo, ReactionRate >

Simple extension of Reaction to handle reversible reactions using equilibrium thermodynamics.

Source files

Definition at line 50 of file NonEquilibriumReversibleReaction.H.

Constructor & Destructor Documentation

◆ NonEquilibriumReversibleReaction() [1/4]

NonEquilibriumReversibleReaction ( const Reaction< ReactionThermo > &  reaction,
const ReactionRate &  forwardReactionRate,
const ReactionRate &  reverseReactionRate 
)

Construct from components.

Definition at line 33 of file NonEquilibriumReversibleReaction.C.

Referenced by NonEquilibriumReversibleReaction< ReactionThermo, ReactionRate >::NonEquilibriumReversibleReaction().

Here is the caller graph for this function:

◆ NonEquilibriumReversibleReaction() [2/4]

NonEquilibriumReversibleReaction ( const NonEquilibriumReversibleReaction< ReactionThermo, ReactionRate > &  nerr,
const speciesTable species 
)

Construct as copy given new speciesTable.

Definition at line 79 of file NonEquilibriumReversibleReaction.C.

References NonEquilibriumReversibleReaction< ReactionThermo, ReactionRate >::preEvaluate().

Here is the call graph for this function:

◆ NonEquilibriumReversibleReaction() [3/4]

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

Construct from dictionary.

Definition at line 48 of file NonEquilibriumReversibleReaction.C.

References NonEquilibriumReversibleReaction< ReactionThermo, ReactionRate >::NonEquilibriumReversibleReaction().

Here is the call graph for this function:

◆ NonEquilibriumReversibleReaction() [4/4]

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

Construct from objectRegistry and dictionary.

Definition at line 63 of file NonEquilibriumReversibleReaction.C.

References NonEquilibriumReversibleReaction< ReactionThermo, ReactionRate >::NonEquilibriumReversibleReaction().

Here is the call graph for this function:

◆ ~NonEquilibriumReversibleReaction()

Member Function Documentation

◆ TypeName()

TypeName ( "nonEquilibriumReversible"  )

Runtime type information.

◆ clone() [1/2]

virtual autoPtr<Reaction<ReactionThermo> > clone ( ) const
inlinevirtual

Construct and return a clone.

Implements Reaction< ReactionThermo >.

Definition at line 105 of file NonEquilibriumReversibleReaction.H.

◆ clone() [2/2]

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

Construct and return a clone with new speciesTable.

Implements Reaction< ReactionThermo >.

Definition at line 119 of file NonEquilibriumReversibleReaction.H.

References reaction::species().

Here is the call graph for this function:

◆ preEvaluate()

◆ postEvaluate()

void postEvaluate ( ) const
virtual

◆ kf()

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

◆ kr() [1/2]

Foam::scalar kr ( const scalar  kfwd,
const scalar  p,
const scalar  T,
const scalarField c,
const label  li 
) const
virtual

Reverse rate constant from the given forward rate constant.

Implements Reaction< ReactionThermo >.

Definition at line 127 of file NonEquilibriumReversibleReaction.C.

Referenced by NonEquilibriumReversibleReaction< ReactionThermo, ReactionRate >::kf(), and NonEquilibriumReversibleReaction< ReactionThermo, ReactionRate >::~NonEquilibriumReversibleReaction().

Here is the caller graph for this function:

◆ kr() [2/2]

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

Reverse rate constant.

Note this evaluates the forward rate constant and divides by the equilibrium constant

Implements Reaction< ReactionThermo >.

Definition at line 142 of file NonEquilibriumReversibleReaction.C.

References NonEquilibriumReversibleReaction< ReactionThermo, ReactionRate >::dkfdT().

Here is the call graph for this function:

◆ dkfdT()

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

Temperature derivative of forward rate.

Implements Reaction< ReactionThermo >.

Definition at line 156 of file NonEquilibriumReversibleReaction.C.

References NonEquilibriumReversibleReaction< ReactionThermo, ReactionRate >::dkrdT().

Referenced by NonEquilibriumReversibleReaction< ReactionThermo, ReactionRate >::kr(), and NonEquilibriumReversibleReaction< ReactionThermo, ReactionRate >::~NonEquilibriumReversibleReaction().

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

◆ dkrdT()

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

◆ hasDkdc()

bool hasDkdc ( ) const
virtual

Does this reaction have concentration-dependent rate constants?

Implements Reaction< ReactionThermo >.

Definition at line 185 of file NonEquilibriumReversibleReaction.C.

References NonEquilibriumReversibleReaction< ReactionThermo, ReactionRate >::dkfdc().

Referenced by NonEquilibriumReversibleReaction< ReactionThermo, ReactionRate >::dkrdT(), and NonEquilibriumReversibleReaction< ReactionThermo, ReactionRate >::~NonEquilibriumReversibleReaction().

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

◆ dkfdc()

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

◆ dkrdc()

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

Concentration derivative of reverse rate.

Implements Reaction< ReactionThermo >.

Definition at line 207 of file NonEquilibriumReversibleReaction.C.

References NonEquilibriumReversibleReaction< ReactionThermo, ReactionRate >::write().

Referenced by NonEquilibriumReversibleReaction< ReactionThermo, ReactionRate >::dkfdc(), and NonEquilibriumReversibleReaction< ReactionThermo, ReactionRate >::~NonEquilibriumReversibleReaction().

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 NonEquilibriumReversibleReaction< ReactionThermo, ReactionRate > &  )
delete

Disallow default bitwise assignment.


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