Go to the documentation of this file.
39 #ifndef solidChemistryModel_H
40 #define solidChemistryModel_H
60 template<
class CompType,
class Sol
idThermo>
139 const bool updateC0 =
false
192 virtual scalar
solve(
const scalar deltaT) = 0;
PtrList< DimensionedField< scalar, volMesh > > RRs_
List of reaction rate per solid [kg/m3/s].
A class for handling words, derived from string.
List< bool > reactingCells_
List of active reacting cells.
A class for managing temporary objects.
virtual void jacobian(const scalar t, const scalarField &c, scalarField &dcdt, scalarSquareMatrix &dfdc) const =0
Calculate the Jacobian of the system.
PtrList< volScalarField > & Ys_
Reference to solid mass fractions.
label nReaction() const
The number of reactions.
virtual ~solidChemistryModel()
Destructor.
label nSolids_
Number of solid components.
TypeName("solidChemistryModel")
Runtime type information.
virtual tmp< volScalarField > Sh() const
Return source for enthalpy equation [kg/m/s3].
const PtrList< Reaction< SolidThermo > > & reactions_
Reactions.
virtual void calculate()=0
Calculates the reaction rates.
intWM_LABEL_SIZE_t label
A label is an int32_t or int64_t as specified by the pre-processor macro WM_LABEL_SIZE.
Pre-declare SubField and related Field type.
Extends base solid chemistry model by adding a thermo package, and ODE functions. Introduces chemistr...
void T(FieldField< Field, Type > &f1, const FieldField< Field, Type > &f2)
virtual tmp< volScalarField > dQ() const
Return the heat release, i.e. enthalpy/sec [m2/s3].
A templated 1D list of pointers to objects of type <T>, where the size of the array is known and used...
const PtrList< SolidThermo > & solidThermo_
Thermodynamic data of solids.
Mesh data needed to do the Finite Volume discretisation.
void setCellReacting(const label cellI, const bool active)
Set reacting status of cell, cellI.
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
void operator=(const solidChemistryModel &)
Disallow default bitwise assignment.
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.
virtual void derivatives(const scalar t, const scalarField &c, scalarField &dcdt) const =0
Calculate the derivatives in dydx.
virtual tmp< volScalarField > tc() const
Return the chemical time scale.
Abstract base class for the systems of ordinary differential equations.
PtrList< DimensionedField< scalar, volMesh > > & RRs()
Write access to source terms for solids.
virtual label nEqns() const =0
Number of ODE's to solve.
const dimensionedScalar c
Speed of light in a vacuum.
label nReaction_
Number of solid reactions.
Simple extension of ReactionThermo to handle reaction kinetics in addition to the equilibrium thermod...
solidChemistryModel(const solidChemistryModel &)
Disallow copy constructor.
virtual scalar solve(const scalar deltaT)=0
Solve the reaction system for the given time step.
Field with dimensions and associated with geometry type GeoMesh which is used to size the field and a...
const PtrList< Reaction< SolidThermo > > & reactions() const
The reactions.