39#ifndef pyrolysisChemistryModel_H
40#define pyrolysisChemistryModel_H
58template<
class CompType,
class Sol
idThermo,
class GasThermo>
61 public solidChemistryModel<CompType, SolidThermo>
129 inline label
nGases()
const;
138 const bool updateC0 =
false
202 virtual scalar
solve(
const scalar deltaT);
208 virtual label
nEqns()
const;
DimensionedField< scalar, volMesh > Internal
A list of pointers to objects of type <T>, with allocation/deallocation management of the pointers....
Simple extension of ReactionThermo to handle reaction kinetics in addition to the equilibrium thermod...
Mesh data needed to do the Finite Volume discretisation.
const volScalarField::Internal & RRg(const label i) const
Return const access to the chemical source terms for gases.
PtrList< Foam::gasHThermoPhysics > gasThermo_
virtual scalar solve(const scalar deltaT)
Solve the reaction system for the given time step.
virtual void solve(scalarField &c, scalar &T, scalar &p, scalar &deltaT, scalar &subDeltaT) const
virtual tmp< volScalarField > gasHs(const volScalarField &p, const volScalarField &T, const label i) const
Return sensible enthalpy for gas i [J/Kg].
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
pyrolysisChemistryModel(typename CompType::reactionThermo &thermo)
Construct from thermo.
virtual void derivatives(const scalar t, const scalarField &c, scalarField &dcdt) const
Calculate the derivatives in dydx.
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.
const PtrList< GasThermo > & gasThermo() const
Thermodynamic data of gases.
TypeName("pyrolysis")
Runtime type information.
void operator=(const pyrolysisChemistryModel &)=delete
No copy assignment.
label nGases() const
The number of solids.
PtrList< volScalarField::Internal > & RRg()
Write access to source terms for gases.
tmp< volScalarField::Internal > RRg() const
Return total gas source term.
virtual label nEqns() const
Number of ODE's to solve.
speciesTable pyrolisisGases_
label nSpecie() const
The number of solids.
virtual ~pyrolysisChemistryModel()
Destructor.
PtrList< volScalarField > Ys0_
PtrList< volScalarField::Internal > RRg_
const speciesTable & gasTable() const
Gases table.
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.
virtual void jacobian(const scalar t, const scalarField &c, scalarField &dcdt, scalarSquareMatrix &dfdc) const
Calculate the Jacobian of the system.
virtual void calculate()
Calculates the reaction rates.
Basic thermodynamics type based on the use of fitting functions for cp, h, s obtained from the templa...
A class for managing temporary objects.
GeometricField< scalar, fvPatchField, volMesh > volScalarField
hashedWordList speciesTable
A table of species as a hashedWordList.
Field< scalar > scalarField
Specialisation of Field<T> for scalar.
SquareMatrix< scalar > scalarSquareMatrix
void T(FieldField< Field, Type > &f1, const FieldField< Field, Type > &f2)
#define TypeName(TypeNameString)
Declare a ClassName() with extra virtual type info.
Forwards and collection of common volume field types.