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 formard 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 const List< Tuple2< label, scalar > > & beta () const
 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
 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
 Temperature derivative of the pressure dependent term. 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 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...
 
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...
 
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 formard 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

Temperature derivative of backward rate.

Implements Reaction< ReactionThermo >.

Definition at line 170 of file NonEquilibriumReversibleReaction.C.

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

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

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

◆ beta()

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

Third-body efficiencies (beta = 1-alpha)

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

Implements Reaction< ReactionThermo >.

Definition at line 186 of file NonEquilibriumReversibleReaction.C.

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

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:

◆ dcidc()

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

Species concentration derivative of the pressure dependent term.

By default this value is 1 as it multiplies the third-body term

Implements Reaction< ReactionThermo >.

Definition at line 195 of file NonEquilibriumReversibleReaction.C.

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

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

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

◆ dcidT()

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

Temperature derivative of the pressure dependent term.

By default this value is 0 since ddT of molecularity is approx.0

Implements Reaction< ReactionThermo >.

Definition at line 210 of file NonEquilibriumReversibleReaction.C.

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

Referenced by NonEquilibriumReversibleReaction< ReactionThermo, ReactionRate >::dcidc(), 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: