39 #ifndef solidChemistryModel_H 40 #define solidChemistryModel_H 59 template<
class CompType,
class Sol
idThermo>
71 void operator=(
const solidChemistryModel&);
138 const bool updateC0 =
false 191 virtual scalar
solve(
const scalar deltaT) = 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.
intWM_LABEL_SIZE_t label
A label is an int32_t or int64_t as specified by the pre-processor macro WM_LABEL_SIZE.
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. Introduces chemistr...
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.
A class for handling words, derived from string.
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].
void T(FieldField< Field, Type > &f1, const FieldField< Field, Type > &f2)
PtrList< volScalarField > & Ys_
Reference to solid mass fractions.
A templated 1D list of pointers to objects of type <T>, where the size of the array is known and used...
Mesh data needed to do the Finite Volume discretisation.
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.