pyrolysisChemistryModel< CompType, SolidThermo, GasThermo > Class Template Reference

Pyrolysis chemistry model. It includes gas phase in the solid reaction. More...

Inheritance diagram for pyrolysisChemistryModel< CompType, SolidThermo, GasThermo >:
Collaboration diagram for pyrolysisChemistryModel< CompType, SolidThermo, GasThermo >:

Public Member Functions

 TypeName ("pyrolysis")
 Runtime type information. More...
 
 pyrolysisChemistryModel (typename CompType::reactionThermo &thermo)
 Construct from thermo. More...
 
virtual ~pyrolysisChemistryModel ()
 Destructor. More...
 
const PtrList< GasThermo > & gasThermo () const
 Thermodynamic data of gases. More...
 
const speciesTablegasTable () const
 Gases table. More...
 
label nSpecie () const
 The number of solids. More...
 
label nGases () const
 The number of solids. More...
 
virtual scalarField omega (const scalarField &c, const scalar T, const scalar p, const bool updateC0=false) const
 dc/dt = omega, rate of change in concentration, for each species More...
 
virtual scalar omega (const Reaction< SolidThermo > &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. More...
 
virtual scalar omegaI (label iReaction, 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 iReaction. More...
 
virtual void calculate ()
 Calculates the reaction rates. More...
 
const volScalarField::InternalRRg (const label i) const
 Return const access to the chemical source terms for gases. More...
 
tmp< volScalarField::InternalRRg () const
 Return total gas source term. More...
 
virtual tmp< volScalarFieldgasHs (const volScalarField &p, const volScalarField &T, const label i) const
 Return sensible enthalpy for gas i [J/Kg]. More...
 
virtual scalar solve (const scalar deltaT)
 Solve the reaction system for the given time step. More...
 
virtual label nEqns () const
 Number of ODE's to solve. More...
 
virtual void derivatives (const scalar t, const scalarField &c, scalarField &dcdt) const
 Calculate the derivatives in dydx. More...
 
virtual void jacobian (const scalar t, const scalarField &c, scalarField &dcdt, scalarSquareMatrix &dfdc) const
 Calculate the Jacobian of the system. More...
 
virtual void solve (scalarField &c, scalar &T, scalar &p, scalar &deltaT, scalar &subDeltaT) const
 
void operator= (const pyrolysisChemistryModel &)=delete
 Disallow default bitwise assignment. More...
 
- Public Member Functions inherited from solidChemistryModel< CompType, SolidThermo >
 TypeName ("solidChemistryModel")
 Runtime type information. More...
 
 solidChemistryModel (typename CompType::reactionThermo &thermo)
 Construct from thermo. More...
 
 solidChemistryModel (const solidChemistryModel &)
 Disallow default bitwise copy construction. More...
 
virtual ~solidChemistryModel ()
 Destructor. More...
 
const PtrList< Reaction< SolidThermo > > & reactions () const
 The reactions. More...
 
label nReaction () const
 The number of reactions. More...
 
const volScalarField::InternalRRs (const label i) const
 Return const access to the chemical source terms for solids. More...
 
tmp< volScalarField::InternalRRs () const
 Return total solid source term. More...
 
virtual scalar solve (const scalarField &deltaT)
 Solve the reaction system for the given time step. More...
 
virtual tmp< volScalarFieldtc () const
 Return the chemical time scale. More...
 
virtual tmp< volScalarFieldQdot () const
 Return the heat release rate [kg/m/s^3]. More...
 
void operator= (const solidChemistryModel &)=delete
 Disallow default bitwise assignment. More...
 
- Public Member Functions inherited from ODESystem
 ODESystem ()
 Construct null. More...
 
virtual ~ODESystem ()
 Destructor. More...
 

Protected Member Functions

PtrList< volScalarField::Internal > & RRg ()
 Write access to source terms for gases. More...
 
- Protected Member Functions inherited from solidChemistryModel< CompType, SolidThermo >
PtrList< volScalarField::Internal > & RRs ()
 Write access to source terms for solids. More...
 
void setCellReacting (const label celli, const bool active)
 Set reacting status of cell, celli. More...
 

Protected Attributes

speciesTable pyrolisisGases_
 List of gas species present in reaction system. More...
 
PtrList< GasThermo > gasThermo_
 Thermodynamic data of gases. More...
 
label nGases_
 Number of gas species. More...
 
label nSpecie_
 Number of components being solved by ODE. More...
 
PtrList< volScalarField::InternalRRg_
 List of reaction rate per gas [kg/m^3/s]. More...
 
- Protected Attributes inherited from solidChemistryModel< CompType, SolidThermo >
PtrList< volScalarField > & Ys_
 Reference to solid mass fractions. More...
 
const PtrList< Reaction< SolidThermo > > & reactions_
 Reactions. More...
 
const PtrList< SolidThermo > & solidThermo_
 Thermodynamic data of solids. More...
 
label nSolids_
 Number of solid components. More...
 
label nReaction_
 Number of solid reactions. More...
 
PtrList< volScalarField::InternalRRs_
 List of reaction rate per solid [kg/m^3/s]. More...
 
List< bool > reactingCells_
 List of active reacting cells. More...
 

Detailed Description

template<class CompType, class SolidThermo, class GasThermo>
class Foam::pyrolysisChemistryModel< CompType, SolidThermo, GasThermo >

Pyrolysis chemistry model. It includes gas phase in the solid reaction.

Source files

Definition at line 56 of file pyrolysisChemistryModel.H.

Constructor & Destructor Documentation

◆ pyrolysisChemistryModel()

◆ ~pyrolysisChemistryModel()

Destructor.

Definition at line 177 of file pyrolysisChemistryModel.C.

References pyrolysisChemistryModel< CompType, SolidThermo, GasThermo >::omega().

Referenced by pyrolysisChemistryModel< CompType, SolidThermo, GasThermo >::pyrolysisChemistryModel().

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

Member Function Documentation

◆ RRg() [1/3]

Foam::PtrList< Foam::DimensionedField< Foam::scalar, Foam::volMesh > > & RRg ( )
inlineprotected

Write access to source terms for gases.

Definition at line 33 of file pyrolysisChemistryModelI.H.

References pyrolysisChemistryModel< CompType, SolidThermo, GasThermo >::gasThermo().

Referenced by pyrolysisChemistryModel< CompType, SolidThermo, GasThermo >::nSpecie(), and pyrolysisChemistryModel< CompType, SolidThermo, GasThermo >::RRg().

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

◆ TypeName()

TypeName ( "pyrolysis"  )

Runtime type information.

◆ gasThermo()

const Foam::PtrList< GasThermo > & gasThermo ( ) const
inline

Thermodynamic data of gases.

Definition at line 42 of file pyrolysisChemistryModelI.H.

References pyrolysisChemistryModel< CompType, SolidThermo, GasThermo >::gasTable().

Referenced by pyrolysisChemistryModel< CompType, SolidThermo, GasThermo >::RRg().

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

◆ gasTable()

const Foam::speciesTable & gasTable ( ) const
inline

Gases table.

Definition at line 51 of file pyrolysisChemistryModelI.H.

References pyrolysisChemistryModel< CompType, SolidThermo, GasThermo >::nSpecie().

Referenced by pyrolysisChemistryModel< CompType, SolidThermo, GasThermo >::gasThermo().

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

◆ nSpecie()

Foam::label nSpecie ( ) const
inline

The number of solids.

Definition at line 60 of file pyrolysisChemistryModelI.H.

References pyrolysisChemistryModel< CompType, SolidThermo, GasThermo >::RRg().

Referenced by pyrolysisChemistryModel< CompType, SolidThermo, GasThermo >::gasTable().

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

◆ nGases()

label nGases ( ) const
inline

The number of solids.

◆ omega() [1/2]

Foam::scalarField omega ( const scalarField c,
const scalar  T,
const scalar  p,
const bool  updateC0 = false 
) const
virtual

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

Implements solidChemistryModel< CompType, SolidThermo >.

Definition at line 186 of file pyrolysisChemistryModel.C.

References forAll, g, SolidReaction< ReactionThermo >::grhs(), Reaction< ReactionThermo >::lhs(), R, Reaction< ReactionThermo >::rhs(), and s().

Referenced by pyrolysisChemistryModel< CompType, SolidThermo, GasThermo >::~pyrolysisChemistryModel().

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

◆ omega() [2/2]

Foam::scalar omega ( const Reaction< SolidThermo > &  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.

NOTE: Currently does not calculate reference specie and characteristic times (pf, cf,l Ref, etc.)

Implements solidChemistryModel< CompType, SolidThermo >.

Definition at line 246 of file pyrolysisChemistryModel.C.

References Foam::constant::physicoChemical::c1, Foam::exp(), Reaction< ReactionThermo >::kf(), Reaction< ReactionThermo >::lhs(), Foam::max(), pyrolysisChemistryModel< CompType, SolidThermo, GasThermo >::omegaI(), Foam::pow(), and s().

Here is the call graph for this function:

◆ omegaI()

Foam::scalar omegaI ( label  iReaction,
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 iReaction.

NOTE: Currently does not calculate reference specie and characteristic times (pf, cf,l Ref, etc.)

Implements solidChemistryModel< CompType, SolidThermo >.

Definition at line 289 of file pyrolysisChemistryModel.C.

References pyrolysisChemistryModel< CompType, SolidThermo, GasThermo >::derivatives().

Referenced by pyrolysisChemistryModel< CompType, SolidThermo, GasThermo >::omega().

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

◆ calculate()

void calculate ( )
virtual

◆ RRg() [2/3]

const Foam::DimensionedField< Foam::scalar, Foam::volMesh > & RRg ( const label  i) const
inline

Return const access to the chemical source terms for gases.

Definition at line 69 of file pyrolysisChemistryModelI.H.

References pyrolysisChemistryModel< CompType, SolidThermo, GasThermo >::RRg().

Here is the call graph for this function:

◆ RRg() [3/3]

Foam::tmp< Foam::DimensionedField< Foam::scalar, Foam::volMesh > > RRg ( ) const
inline

Return total gas source term.

Definition at line 80 of file pyrolysisChemistryModelI.H.

References Foam::dimMass, Foam::dimTime, Foam::dimVolume, mesh, Foam::New(), and tmp< T >::ref().

Here is the call graph for this function:

◆ gasHs()

Foam::tmp< Foam::volScalarField > gasHs ( const volScalarField p,
const volScalarField T,
const label  i 
) const
virtual

Return sensible enthalpy for gas i [J/Kg].

Definition at line 625 of file pyrolysisChemistryModel.C.

References Foam::dimEnergy, Foam::dimMass, forAll, Foam::New(), tmp< T >::ref(), and pyrolysisChemistryModel< CompType, SolidThermo, GasThermo >::solve().

Referenced by pyrolysisChemistryModel< CompType, SolidThermo, GasThermo >::solve().

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

◆ solve() [1/2]

Foam::scalar solve ( const scalar  deltaT)
virtual

◆ nEqns()

Foam::label nEqns ( ) const
virtual

Number of ODE's to solve.

Implements solidChemistryModel< CompType, SolidThermo >.

Definition at line 450 of file pyrolysisChemistryModel.C.

References pyrolysisChemistryModel< CompType, SolidThermo, GasThermo >::calculate().

Referenced by pyrolysisChemistryModel< CompType, SolidThermo, GasThermo >::jacobian().

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

◆ derivatives()

void derivatives ( const scalar  x,
const scalarField y,
scalarField dydx 
) const
virtual

Calculate the derivatives in dydx.

Implements solidChemistryModel< CompType, SolidThermo >.

Definition at line 312 of file pyrolysisChemistryModel.C.

References pyrolysisChemistryModel< CompType, SolidThermo, GasThermo >::jacobian(), Foam::mag(), and Foam::min().

Referenced by pyrolysisChemistryModel< CompType, SolidThermo, GasThermo >::omegaI().

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

◆ jacobian()

void jacobian ( const scalar  x,
const scalarField y,
scalarField dfdx,
scalarSquareMatrix dfdy 
) const
virtual

◆ solve() [2/2]

void solve ( scalarField c,
scalar &  T,
scalar &  p,
scalar &  deltaT,
scalar &  subDeltaT 
) const
virtual

◆ operator=()

void operator= ( const pyrolysisChemistryModel< CompType, SolidThermo, GasThermo > &  )
delete

Disallow default bitwise assignment.

Member Data Documentation

◆ pyrolisisGases_

speciesTable pyrolisisGases_
protected

List of gas species present in reaction system.

Definition at line 63 of file pyrolysisChemistryModel.H.

◆ gasThermo_

PtrList<GasThermo> gasThermo_
protected

Thermodynamic data of gases.

Definition at line 66 of file pyrolysisChemistryModel.H.

◆ nGases_

label nGases_
protected

Number of gas species.

Definition at line 69 of file pyrolysisChemistryModel.H.

◆ nSpecie_

label nSpecie_
protected

Number of components being solved by ODE.

Definition at line 72 of file pyrolysisChemistryModel.H.

◆ RRg_

List of reaction rate per gas [kg/m^3/s].

Definition at line 75 of file pyrolysisChemistryModel.H.


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