Public Member Functions | Protected Member Functions | Protected Attributes | Private Member Functions | Private Attributes
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 >:
Inheritance graph
[legend]
Collaboration diagram for pyrolysisChemistryModel< CompType, SolidThermo, GasThermo >:
Collaboration graph
[legend]

Public Member Functions

 TypeName ("pyrolysis")
 Runtime type information. More...
 
 pyrolysisChemistryModel (const fvMesh &mesh, const word &phaseName)
 Construct from mesh and phase name. 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 DimensionedField< scalar, volMesh > & RRg (const label i) const
 Return const access to the chemical source terms for gases. More...
 
tmp< DimensionedField< scalar, volMesh > > RRg () 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
 
- Public Member Functions inherited from solidChemistryModel< CompType, SolidThermo >
 TypeName ("solidChemistryModel")
 Runtime type information. More...
 
 solidChemistryModel (const fvMesh &mesh, const word &phaseName)
 Construct from mesh and phase name. More...
 
virtual ~solidChemistryModel ()
 Destructor. More...
 
const PtrList< Reaction< SolidThermo > > & reactions () const
 The reactions. More...
 
label nReaction () const
 The number of reactions. More...
 
const DimensionedField< scalar, volMesh > & RRs (const label i) const
 Return const access to the chemical source terms for solids. More...
 
tmp< DimensionedField< scalar, volMesh > > RRs () 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< volScalarFieldSh () const
 Return source for enthalpy equation [kg/m/s3]. More...
 
virtual tmp< volScalarFielddQ () const
 Return the heat release, i.e. enthalpy/sec [m2/s3]. More...
 
- Public Member Functions inherited from ODESystem
 ODESystem ()
 Construct null. More...
 
virtual ~ODESystem ()
 Destructor. More...
 

Protected Member Functions

PtrList< DimensionedField< scalar, volMesh > > & RRg ()
 Write access to source terms for gases. More...
 
- Protected Member Functions inherited from solidChemistryModel< CompType, SolidThermo >
PtrList< DimensionedField< scalar, volMesh > > & 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< DimensionedField< scalar, volMesh > > RRg_
 List of reaction rate per gas [kg/m3/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< DimensionedField< scalar, volMesh > > RRs_
 List of reaction rate per solid [kg/m3/s]. More...
 
List< bool > reactingCells_
 List of active reacting cells. More...
 

Private Member Functions

void operator= (const pyrolysisChemistryModel &)
 Disallow default bitwise assignment. More...
 

Private Attributes

PtrList< volScalarFieldYs0_
 List of accumulative solid concentrations. More...
 
label cellCounter_
 Cell counter. 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 ( const fvMesh mesh,
const word phaseName 
)

Construct from mesh and phase name.

Definition at line 35 of file pyrolysisChemistryModel.C.

References dictName(), Foam::dimMass, Foam::dimTime, Foam::dimVolume, forAll, IOobject::headerOk(), Foam::indent(), Foam::Info, Foam::max(), mesh, Foam::name(), Foam::nl, and solidThermo::rho().

Here is the call graph for this function:

◆ ~pyrolysisChemistryModel()

Destructor.

Definition at line 172 of file pyrolysisChemistryModel.C.

Member Function Documentation

◆ operator=()

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

Disallow default bitwise assignment.

◆ RRg() [1/3]

Foam::tmp< Foam::DimensionedField< Foam::scalar, Foam::volMesh > > RRg
inlineprotected

Write access to source terms for gases.

Definition at line 33 of file pyrolysisChemistryModelI.H.

◆ TypeName()

TypeName ( "pyrolysis"  )

Runtime type information.

◆ gasThermo()

const Foam::PtrList< GasThermo > & gasThermo
inline

Thermodynamic data of gases.

Definition at line 42 of file pyrolysisChemistryModelI.H.

◆ gasTable()

const Foam::speciesTable & gasTable
inline

Gases table.

Definition at line 51 of file pyrolysisChemistryModelI.H.

◆ nSpecie()

Foam::label nSpecie
inline

The number of solids.

Definition at line 60 of file pyrolysisChemistryModelI.H.

◆ 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 181 of file pyrolysisChemistryModel.C.

References Foam::constant::universal::c, forAll, g, p, R, s(), and T.

Here is the call 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 237 of file pyrolysisChemistryModel.C.

References Foam::constant::universal::c, Foam::constant::physicoChemical::c1, Foam::exp(), Foam::max(), p, Foam::pow(), R, s(), and T.

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 280 of file pyrolysisChemistryModel.C.

References Foam::constant::universal::c, p, R, T, and w().

Here is the call graph for this function:

◆ calculate()

void calculate
virtual

Calculates the reaction rates.

Implements solidChemistryModel< CompType, SolidThermo >.

Definition at line 450 of file pyrolysisChemistryModel.C.

References Foam::constant::universal::c, delta, forAll, mesh, basicThermo::p(), Foam::constant::mathematical::pi(), rho, basicThermo::T(), and timeName.

Here is the call graph for this function:

◆ 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.

◆ RRg() [3/3]

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

Return total gas source term.

◆ 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 616 of file pyrolysisChemistryModel.C.

References Foam::dimEnergy, Foam::dimMass, forAll, p, and T.

◆ solve() [1/2]

Foam::scalar solve ( const scalar  deltaT)
virtual

Solve the reaction system for the given time step.

and return the characteristic time

Implements solidChemistryModel< CompType, SolidThermo >.

Definition at line 518 of file pyrolysisChemistryModel.C.

References Foam::constant::universal::c, delta, forAll, mesh, Foam::min(), p, basicThermo::p(), Foam::constant::mathematical::pi(), rho, solve(), T, basicThermo::T(), and timeName.

Here is the call graph for this function:

◆ nEqns()

Foam::label nEqns
virtual

Number of ODE's to solve.

Implements solidChemistryModel< CompType, SolidThermo >.

Definition at line 441 of file pyrolysisChemistryModel.C.

◆ 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 303 of file pyrolysisChemistryModel.C.

References Foam::constant::universal::c, Foam::mag(), Foam::min(), p, and T.

Here is the call graph for this function:

◆ jacobian()

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

Calculate the Jacobian of the system.

Need by the stiff-system solvers

Implements solidChemistryModel< CompType, SolidThermo >.

Definition at line 345 of file pyrolysisChemistryModel.C.

References Foam::constant::universal::c, Foam::constant::physicoChemical::c2, delta, Foam::endl(), Foam::exp(), forAll, Foam::Info, Foam::max(), p, Foam::pow(), R, and T.

Here is the call graph for this function:

◆ solve() [2/2]

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

Field Documentation

◆ pyrolisisGases_

speciesTable pyrolisisGases_
protected

List of gas species present in reaction system.

Definition at line 69 of file pyrolysisChemistryModel.H.

◆ gasThermo_

PtrList<GasThermo> gasThermo_
protected

Thermodynamic data of gases.

Definition at line 72 of file pyrolysisChemistryModel.H.

◆ nGases_

label nGases_
protected

Number of gas species.

Definition at line 75 of file pyrolysisChemistryModel.H.

◆ nSpecie_

label nSpecie_
protected

Number of components being solved by ODE.

Definition at line 78 of file pyrolysisChemistryModel.H.

◆ RRg_

PtrList<DimensionedField<scalar, volMesh> > RRg_
protected

List of reaction rate per gas [kg/m3/s].

Definition at line 81 of file pyrolysisChemistryModel.H.

◆ Ys0_

PtrList<volScalarField> Ys0_
mutableprivate

List of accumulative solid concentrations.

Definition at line 93 of file pyrolysisChemistryModel.H.

◆ cellCounter_

label cellCounter_
private

Cell counter.

Definition at line 96 of file pyrolysisChemistryModel.H.


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