38 #ifndef standardChemistryModel_H 39 #define standardChemistryModel_H 59 template<
class ThermoType>
69 template<
class DeltaTType>
70 scalar solve(
const DeltaTType& deltaT);
186 inline scalar
Treact()
const;
223 const label reactionI,
229 virtual scalar solve(
const scalar deltaT);
virtual label nSpecie() const
The number of species.
#define forAll(list, i)
Loop across all elements in list.
intWM_LABEL_SIZE_t label
A label is an int32_t or int64_t as specified by the pre-processor macro WM_LABEL_SIZE.
virtual tmp< volScalarField > Qdot() const
Return the heat release rate [kg/m/s^3].
Abstract base class for the systems of ordinary differential equations.
~reactionEvaluationScope()
scalarField dcdt_
Temporary rate-of-change of concentration field.
virtual void jacobian(const scalar t, const scalarField &c, const label li, scalarField &dcdt, scalarSquareMatrix &J) const
Calculate the Jacobian of the system.
virtual void omega(const scalar p, const scalar T, const scalarField &c, const label li, scalarField &dcdt) const
dc/dt = omega, rate of change in concentration, for each species
Base-class for multi-component fluid thermodynamic properties.
Switch chemistry() const
Chemistry activation switch.
PtrList< volScalarField::Internal > RR_
List of reaction rate per specie [kg/m^3/s].
const ReactionList< ThermoType > reactions_
Reactions.
label nSpecie_
Number of species.
const dimensionedScalar c
Speed of light in a vacuum.
void operator=(const standardChemistryModel &)=delete
Disallow default bitwise assignment.
virtual void calculate()
Calculates the reaction rates.
const PtrList< Reaction< ThermoType > > & reactions() const
The reactions.
scalar Treact() const
Temperature below which the reaction rates are assumed 0.
scalar Treact_
Temperature below which the reaction rates are assumed 0.
const PtrList< ThermoType > & specieThermos_
Thermodynamic data of the species.
const PtrList< ThermoType > & specieThermos() const
Thermodynamic data of the species.
Foam::multiComponentMixture.
standardChemistryModel(const fluidReactionThermo &thermo)
Construct from thermo.
scalarField c_
Temporary concentration field.
Extends base chemistry model by adding a thermo package, and ODE functions. Introduces chemistry equa...
label nReaction_
Number of reactions.
virtual void derivatives(const scalar t, const scalarField &c, const label li, scalarField &dcdt) const
Calculate the derivatives in dydx.
void T(FieldField< Field, Type > &f1, const FieldField< Field, Type > &f2)
PtrList< volScalarField::Internal > & RR()
Write access to chemical source terms.
List of templated reactions.
virtual tmp< volScalarField::Internal > calculateRR(const label reactionI, const label speciei) const
Return reaction rate of the speciei in reactionI.
virtual tmp< volScalarField > tc() const
Return the chemical time scale.
const fluidReactionThermo & thermo() const
Return const access to the thermo.
const PtrList< volScalarField > & Y_
Reference to the field of specie mass fractions.
A templated 1D list of pointers to objects of type <T>, where the size of the array is known and used...
virtual label nEqns() const
Number of ODE's to solve.
Class to define scope of reaction evaluation. Runs pre-evaluate.
Field with dimensions and associated with geometry type GeoMesh which is used to size the field and a...
const multiComponentMixture< ThermoType > & mixture() const
Return reference to the mixture.
A class for managing temporary objects.
virtual ~standardChemistryModel()
Destructor.
TypeName("standard")
Runtime type information.
reactionEvaluationScope(const standardChemistryModel< ThermoType > &chemistry)
const multiComponentMixture< ThermoType > & mixture_
Reference to the multi component mixture.
virtual label nReaction() const
The number of reactions.
Base class for chemistry models.