43 #ifndef solidChemistryModel_H 44 #define solidChemistryModel_H 63 template<
class CompType,
class Sol
idThermo>
142 const bool updateC0 =
false 198 virtual scalar
solve(
const scalar deltaT) = 0;
214 virtual label
nEqns()
const = 0;
List< bool > reactingCells_
List of active reacting cells.
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 =0
Return the reaction rate for iReaction and the reference.
Abstract base class for the systems of ordinary differential equations.
void setCellReacting(const label celli, const bool active)
Set reacting status of cell, celli.
PtrList< volScalarField::Internal > & RRs()
Write access to source terms for solids.
const PtrList< Reaction< SolidThermo > > & reactions() const
The reactions.
label nReaction_
Number of solid reactions.
Extends base solid chemistry model by adding a thermo package, and ODE functions. ...
Simple extension of ReactionThermo to handle reaction kinetics in addition to the equilibrium thermod...
virtual ~solidChemistryModel()
Destructor.
PtrList< volScalarField::Internal > RRs_
List of reaction rate per solid [kg/m3/s].
virtual tmp< volScalarField > tc() const
Return the chemical time scale.
TypeName("solidChemistryModel")
Runtime type information.
const PtrList< SolidThermo > & solidThermo_
Thermodynamic data of solids.
virtual scalar solve(const scalar deltaT)=0
Solve the reaction system for the given time step.
label nSolids_
Number of solid components.
virtual scalarField omega(const scalarField &c, const scalar T, const scalar p, const bool updateC0=false) const =0
dc/dt = omega, rate of change in concentration, for each species
virtual void jacobian(const scalar t, const scalarField &c, scalarField &dcdt, scalarSquareMatrix &dfdc) const =0
Calculate the Jacobian of the system.
const PtrList< Reaction< SolidThermo > > & reactions_
Reactions.
virtual tmp< volScalarField > Qdot() const
Return the heat release rate [kg/m/s3].
Basic thermodynamics type based on the use of fitting functions for cp, h, s obtained from the templa...
void T(FieldField< Field, Type > &f1, const FieldField< Field, Type > &f2)
PtrList< volScalarField > & Ys_
Reference to solid mass fractions.
tmp< DimensionedField< scalar, volMesh > > RRsHs() const
Return net solid sensible enthalpy.
A list of pointers to objects of type <T>, with allocation/deallocation management of the pointers...
const dimensionedScalar c
Speed of light in a vacuum.
Field with dimensions and associated with geometry type GeoMesh which is used to size the field and a...
label nReaction() const
The number of reactions.
virtual void calculate()=0
Calculates the reaction rates.
virtual void derivatives(const scalar t, const scalarField &c, scalarField &dcdt) const =0
Calculate the derivatives in dydx.
A class for managing temporary objects.
virtual label nEqns() const =0
Number of ODE's to solve.