FreeFOAM The Cross-Platform CFD Toolkit
ODEChemistryModel< CompType, ThermoType > Class Template Reference

Extends base chemistry model by adding a thermo package, and ODE functions. Introduces chemistry equation system and evaluation of chemical source terms. More...

#include <chemistryModel/ODEChemistryModel.H>


Detailed Description

template<class CompType, class ThermoType>
class Foam::ODEChemistryModel< CompType, ThermoType >

Extends base chemistry model by adding a thermo package, and ODE functions. Introduces chemistry equation system and evaluation of chemical source terms.

Source files

Definition at line 61 of file ODEChemistryModel.H.

+ Inheritance diagram for ODEChemistryModel< CompType, ThermoType >:
+ Collaboration diagram for ODEChemistryModel< CompType, ThermoType >:

List of all members.

Public Member Functions

 TypeName ("ODEChemistryModel")
 Runtime type information.
 ODEChemistryModel (const fvMesh &mesh, const word &compTypeName, const word &thermoTypeName)
 Construct from components.
virtual ~ODEChemistryModel ()
 Destructor.
const PtrList< Reaction
< ThermoType > > & 
reactions () const
 The reactions.
const PtrList< ThermoType > & specieThermo () const
 Thermodynamic data of the species.
label nSpecie () const
 The number of species.
label nReaction () const
 The number of reactions.
const chemistrySolver
< CompType, ThermoType > & 
solver () const
 Return the chemisty solver.
virtual scalarField omega (const scalarField &c, const scalar T, const scalar p) const
 dc/dt = omega, rate of change in concentration, for each species
virtual scalar omega (const Reaction< ThermoType > &r, const scalarField &c, const scalar T, const scalar p, scalar &pf, scalar &cf, label &lRef, scalar &pr, scalar &cr, label &rRef) const
 Return the reaction rate for reaction r and the reference.
virtual void calculate ()
 Calculates the reaction rates.
tmp< volScalarFieldRR (const label i) const
 Return const access to the chemical source terms.
virtual scalar solve (const scalar t0, const scalar deltaT)
 Solve the reaction system for the given start time and time.
virtual tmp< volScalarFieldtc () const
 Return the chemical time scale.
virtual tmp< volScalarFieldSh () const
 Return source for enthalpy equation [kg/m/s3].
virtual tmp< volScalarFielddQ () const
 Return the heat release, i.e. enthalpy/sec [m2/s3].
virtual label nEqns () const
 Number of ODE's to solve.
virtual void derivatives (const scalar t, const scalarField &c, scalarField &dcdt) const
virtual void jacobian (const scalar t, const scalarField &c, scalarField &dcdt, scalarSquareMatrix &dfdc) const
- Public Member Functions inherited from ODE
 ODE ()
 Construct null.
virtual ~ODE ()

Protected Member Functions

PtrList< scalarField > & RR ()
 Write access to chemical source terms.

Protected Attributes

PtrList< volScalarField > & Y_
 Reference to the field of specie mass fractions.
const PtrList< Reaction
< ThermoType > > & 
reactions_
 Reactions.
const PtrList< ThermoType > & specieThermo_
 Thermodynamic data of the species.
label nSpecie_
 Number of species.
label nReaction_
 Number of reactions.
autoPtr< chemistrySolver
< CompType, ThermoType > > 
solver_
 Chemistry solver.
PtrList< scalarFieldRR_
 Chemical source term [kg/m3/s].

Constructor & Destructor Documentation

ODEChemistryModel ( const fvMesh mesh,
const word compTypeName,
const word thermoTypeName 
)

Construct from components.

Definition at line 34 of file ODEChemistryModel.C.

References Foam::endl(), forAll, Foam::Info, primitiveMesh::nCells(), and scalarField().

~ODEChemistryModel ( )
virtual

Destructor.

Definition at line 89 of file ODEChemistryModel.C.


Member Function Documentation

Foam::PtrList< Foam::scalarField > & RR ( )
inlineprotected

Write access to chemical source terms.

(e.g. for multi-chemistry model)

Definition at line 33 of file ODEChemistryModelI.H.

TypeName ( "ODEChemistryModel< CompType, ThermoType >"  )

Runtime type information.

const Foam::PtrList< Foam::Reaction< ThermoType > > & reactions ( ) const
inline

The reactions.

Definition at line 41 of file ODEChemistryModelI.H.

const Foam::PtrList< ThermoType > & specieThermo ( ) const
inline

Thermodynamic data of the species.

Definition at line 49 of file ODEChemistryModelI.H.

Foam::label nSpecie ( ) const
inline

The number of species.

Definition at line 57 of file ODEChemistryModelI.H.

Foam::label nReaction ( ) const
inline

The number of reactions.

Definition at line 65 of file ODEChemistryModelI.H.

const Foam::chemistrySolver< CompType, ThermoType > & solver ( ) const
inline

Return the chemisty solver.

Definition at line 73 of file ODEChemistryModelI.H.

Foam::scalarField omega ( const scalarField c,
const scalar  T,
const scalar  p 
) const
virtual

dc/dt = omega, rate of change in concentration, for each species

Definition at line 97 of file ODEChemistryModel.C.

References forAll, Reaction< ReactionThermo >::lhs(), R, and Reaction< ReactionThermo >::rhs().

Foam::scalar omega ( const Reaction< ThermoType > &  r,
const scalarField c,
const scalar  T,
const scalar  p,
scalar &  pf,
scalar &  cf,
label &  lRef,
scalar &  pr,
scalar &  cr,
label &  rRef 
) const
virtual

Return the reaction rate for reaction r and the reference.

species and charateristic times

Definition at line 138 of file ODEChemistryModel.C.

References Foam::exp(), Reaction< ReactionThermo >::kf(), Reaction< ReactionThermo >::kr(), Reaction< ReactionThermo >::lhs(), Foam::max(), Foam::pow(), Reaction< ReactionThermo >::rhs(), and List< T >::size().

void calculate ( )
virtual

Calculates the reaction rates.

Definition at line 616 of file ODEChemistryModel.C.

References forAll, mesh, Foam::mathematicalConstant::pi(), rho, List< T >::size(), thermo, and timeName.

Foam::tmp< Foam::volScalarField > RR ( const label  i) const
inline

Return const access to the chemical source terms.

Definition at line 82 of file ODEChemistryModelI.H.

References Foam::dimMass, Foam::dimTime, Foam::dimVolume, mesh, name(), and timeName.

Foam::scalar solve ( const scalar  t0,
const scalar  deltaT 
)
virtual

Solve the reaction system for the given start time and time.

step and return the characteristic time

Definition at line 672 of file ODEChemistryModel.C.

References forAll, Foam::max(), mesh, Foam::min(), Foam::mathematicalConstant::pi(), rho, List< T >::size(), Foam::sum(), thermo, and timeName.

Foam::tmp< Foam::volScalarField > tc ( ) const
virtual

Return the chemical time scale.

Definition at line 449 of file ODEChemistryModel.C.

References Foam::dimTime, forAll, mesh, Foam::mathematicalConstant::pi(), rho, Reaction< ReactionThermo >::rhs(), thermo, and timeName.

Foam::tmp< Foam::volScalarField > Sh ( ) const
virtual

Return source for enthalpy equation [kg/m/s3].

Definition at line 535 of file ODEChemistryModel.C.

References Foam::dimEnergy, Foam::dimTime, Foam::dimVolume, and forAll.

Foam::tmp< Foam::volScalarField > dQ ( ) const
virtual

Return the heat release, i.e. enthalpy/sec [m2/s3].

Definition at line 576 of file ODEChemistryModel.C.

References Foam::dimEnergy, GeometricField< Type, PatchField, GeoMesh >::dimensionedInternalField(), and Foam::dimTime.

Foam::label nEqns ( ) const
virtual

Number of ODE's to solve.

Implements ODE.

Definition at line 608 of file ODEChemistryModel.C.

void derivatives ( const scalar  t,
const scalarField c,
scalarField dcdt 
) const
virtual

Implements ODE.

Definition at line 256 of file ODEChemistryModel.C.

References cp, Foam::mag(), Foam::min(), rho, and Xi().

void jacobian ( const scalar  t,
const scalarField c,
scalarField dcdt,
scalarSquareMatrix dfdc 
) const
virtual

Member Data Documentation

PtrList<volScalarField>& Y_
protected

Reference to the field of specie mass fractions.

Definition at line 77 of file ODEChemistryModel.H.

const PtrList<Reaction<ThermoType> >& reactions_
protected

Reactions.

Definition at line 80 of file ODEChemistryModel.H.

const PtrList<ThermoType>& specieThermo_
protected

Thermodynamic data of the species.

Definition at line 83 of file ODEChemistryModel.H.

label nSpecie_
protected

Number of species.

Definition at line 86 of file ODEChemistryModel.H.

label nReaction_
protected

Number of reactions.

Definition at line 89 of file ODEChemistryModel.H.

autoPtr<chemistrySolver<CompType, ThermoType> > solver_
protected

Chemistry solver.

Definition at line 92 of file ODEChemistryModel.H.

PtrList<scalarField> RR_
protected

Chemical source term [kg/m3/s].

Definition at line 95 of file ODEChemistryModel.H.


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