ReversibleReaction< ReactionThermo, ReactionRate > Class Template Reference

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

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

Public Member Functions

 TypeName ("reversible")
 Runtime type information. More...
 
 ReversibleReaction (const Reaction< ReactionThermo > &reaction, const ReactionRate &k)
 Construct from components. More...
 
 ReversibleReaction (const ReversibleReaction< ReactionThermo, ReactionRate > &, const speciesTable &species)
 Construct as copy given new speciesTable. More...
 
 ReversibleReaction (const speciesTable &species, const HashPtrTable< ReactionThermo > &thermoDatabase, const dictionary &dict)
 Construct from dictionary. More...
 
 ReversibleReaction (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 ~ReversibleReaction ()
 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 ReversibleReaction< 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::ReversibleReaction< ReactionThermo, ReactionRate >

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

Source files

Definition at line 50 of file ReversibleReaction.H.

Constructor & Destructor Documentation

◆ ReversibleReaction() [1/4]

ReversibleReaction ( const Reaction< ReactionThermo > &  reaction,
const ReactionRate &  k 
)

Construct from components.

Definition at line 33 of file ReversibleReaction.C.

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

Here is the caller graph for this function:

◆ ReversibleReaction() [2/4]

ReversibleReaction ( const ReversibleReaction< ReactionThermo, ReactionRate > &  rr,
const speciesTable species 
)

Construct as copy given new speciesTable.

Definition at line 75 of file ReversibleReaction.C.

◆ ReversibleReaction() [3/4]

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

Construct from dictionary.

Definition at line 46 of file ReversibleReaction.C.

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

Here is the call graph for this function:

◆ ReversibleReaction() [4/4]

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

Construct from objectRegistry and dictionary.

Definition at line 60 of file ReversibleReaction.C.

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

Here is the call graph for this function:

◆ ~ReversibleReaction()

Member Function Documentation

◆ TypeName()

TypeName ( "reversible"  )

Runtime type information.

◆ clone() [1/2]

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

Construct and return a clone.

Implements Reaction< ReactionThermo >.

Definition at line 99 of file ReversibleReaction.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 109 of file ReversibleReaction.H.

References reaction::species().

Here is the call graph for this function:

◆ preEvaluate()

void preEvaluate ( ) const
virtual

Pre-evaluation hook.

Implements Reaction< ReactionThermo >.

Definition at line 89 of file ReversibleReaction.C.

Referenced by ReversibleReaction< ReactionThermo, ReactionRate >::~ReversibleReaction().

Here is the caller graph for this function:

◆ postEvaluate()

void postEvaluate ( ) const
virtual

Post-evaluation hook.

Implements Reaction< ReactionThermo >.

Definition at line 97 of file ReversibleReaction.C.

References ReversibleReaction< ReactionThermo, ReactionRate >::kf().

Referenced by ReversibleReaction< ReactionThermo, ReactionRate >::~ReversibleReaction().

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

◆ kf()

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

Forward rate constant.

Implements Reaction< ReactionThermo >.

Definition at line 105 of file ReversibleReaction.C.

References ReversibleReaction< ReactionThermo, ReactionRate >::kr().

Referenced by ReversibleReaction< ReactionThermo, ReactionRate >::postEvaluate(), and ReversibleReaction< ReactionThermo, ReactionRate >::~ReversibleReaction().

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

◆ 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 118 of file ReversibleReaction.C.

References Foam::max().

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

Here is the call graph for this function:
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 132 of file ReversibleReaction.C.

References ReversibleReaction< 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 145 of file ReversibleReaction.C.

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

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

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

Temperature derivative of backward rate.

Implements Reaction< ReactionThermo >.

Definition at line 158 of file ReversibleReaction.C.

References Foam::max().

Referenced by ReversibleReaction< ReactionThermo, ReactionRate >::dkfdT(), and ReversibleReaction< ReactionThermo, ReactionRate >::~ReversibleReaction().

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

◆ hasDkdc()

bool hasDkdc ( ) const
virtual

Does this reaction have concentration-dependent rate constants?

Implements Reaction< ReactionThermo >.

Definition at line 174 of file ReversibleReaction.C.

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

Referenced by ReversibleReaction< ReactionThermo, ReactionRate >::~ReversibleReaction().

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

Concentration derivative of forward rate.

Implements Reaction< ReactionThermo >.

Definition at line 182 of file ReversibleReaction.C.

References ReversibleReaction< ReactionThermo, ReactionRate >::dkrdc().

Referenced by ReversibleReaction< ReactionThermo, ReactionRate >::hasDkdc(), and ReversibleReaction< ReactionThermo, ReactionRate >::~ReversibleReaction().

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

◆ 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 196 of file ReversibleReaction.C.

References Foam::max(), and ReversibleReaction< ReactionThermo, ReactionRate >::write().

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

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

◆ write()

void write ( Ostream os) const
virtual

Write.

Reimplemented from Reaction< ReactionThermo >.

Definition at line 214 of file ReversibleReaction.C.

References Foam::vtkWriteOps::write().

Referenced by ReversibleReaction< ReactionThermo, ReactionRate >::dkrdc(), and ReversibleReaction< ReactionThermo, ReactionRate >::~ReversibleReaction().

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

◆ operator=()

void operator= ( const ReversibleReaction< ReactionThermo, ReactionRate > &  )
delete

Disallow default bitwise assignment.


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