35 template<
class ReactionThermo>
38 const word& modelType,
41 const word& combustionProperties
51 integrateReactionRate_
53 this->coeffs().getOrDefault(
"integrateReactionRate", true)
56 if (integrateReactionRate_)
58 Info<<
" using integrated reaction rate" <<
endl;
62 Info<<
" using instantaneous reaction rate" <<
endl;
69 template<
class ReactionThermo>
76 template<
class ReactionThermo>
80 return this->chemistryPtr_->tc();
84 template<
class ReactionThermo>
89 if (integrateReactionRate_)
97 if (this->coeffs().
readIfPresent(
"maxIntegrationTime", maxTime))
99 this->chemistryPtr_->solve
101 min(1.0/rDeltaT, maxTime)()
106 this->chemistryPtr_->solve((1.0/rDeltaT)());
111 this->chemistryPtr_->solve(this->
mesh().time().deltaTValue());
116 this->chemistryPtr_->calculate();
122 template<
class ReactionThermo>
127 auto&
Su = tSu.ref();
131 const label specieI =
132 this->
thermo().composition().species().find(Y.member());
134 Su += this->chemistryPtr_->RR(specieI);
141 template<
class ReactionThermo>
147 this->
thermo().phaseScopedName(typeName,
"Qdot"),
155 tQdot.ref() = this->chemistryPtr_->Qdot();
162 template<
class ReactionThermo>
167 integrateReactionRate_ =
168 this->coeffs().getOrDefault(
"integrateReactionRate",
true);
virtual void correct()
Correct combustion rate.
compressible::turbulenceModel & turb
Ostream & endl(Ostream &os)
Add newline and flush stream.
tmp< volScalarField > tc() const
Return the chemical time scale.
virtual tmp< volScalarField > Qdot() const
Heat release rate [kg/m/s3].
GeometricField< scalar, fvPatchField, volMesh > volScalarField
psiReactionThermo & thermo
const dimensionSet dimVolume(pow3(dimLength))
Laminar combustion model.
static bool enabled(const fvMesh &mesh)
Return true if LTS is enabled.
A class for handling words, derived from Foam::string.
static tmp< T > New(Args &&... args)
Construct tmp with forwarding arguments.
static const volScalarField & localRDeltaT(const fvMesh &mesh)
Return the reciprocal of the local time-step.
label min(const labelHashSet &set, label minValue=labelMax)
Find the min value in labelHashSet, optionally limited by second argument.
Chemistry model wrapper for combustion models.
Basic thermodynamics type based on the use of fitting functions for cp, h, s obtained from the templa...
static tmp< GeometricField< scalar, fvPatchField, volMesh > > New(const word &name, IOobjectOption::registerOption regOpt, const Mesh &mesh, const dimensionSet &dims, const word &patchFieldType=fvPatchField< scalar >::calculatedType())
Return tmp field (NO_READ, NO_WRITE) from name, mesh, dimensions and patch type. [Takes current timeN...
Abstract base class for turbulence models (RAS, LES and laminar).
const dimensionSet dimEnergy
virtual ~laminar()
Destructor.
dimensioned< scalar > dimensionedScalar
Dimensioned scalar obtained from generic dimensioned type.
PtrList< volScalarField > & Y
meshDefDict readIfPresent("polyMeshPatches", polyPatchNames)
const dimensionSet dimTime(0, 0, 1, 0, 0, 0, 0)
messageStream Info
Information stream (stdout output on master, null elsewhere)
const dimensionSet dimMass(1, 0, 0, 0, 0, 0, 0)
A class for managing temporary objects.
virtual tmp< fvScalarMatrix > R(volScalarField &Y) const
Fuel consumption rate matrix.
Do not request registration (bool: false)
Calculate the finiteVolume matrix for implicit and explicit sources.
virtual bool read()
Update properties from given dictionary.
static constexpr const zero Zero
Global zero (0)