35 const word& modelType,
40 Type(modelType, mesh, phaseName),
41 integrateReactionRate_
43 this->coeffs().lookupOrDefault(
"integrateReactionRate",
true)
46 if (integrateReactionRate_)
48 Info<<
" using integrated reaction rate" <<
endl;
52 Info<<
" using instantaneous reaction rate" <<
endl;
70 return this->chemistryPtr_->tc();
79 if (integrateReactionRate_)
81 if (fv::localEulerDdt::enabled(this->
mesh()))
84 fv::localEulerDdt::localRDeltaT(this->
mesh());
86 if (this->coeffs().
found(
"maxIntegrationTime"))
88 scalar maxIntegrationTime
93 this->chemistryPtr_->solve
95 min(1.0/rDeltaT, maxIntegrationTime)()
100 this->chemistryPtr_->solve((1.0/rDeltaT)());
105 this->chemistryPtr_->solve(this->
mesh().time().deltaTValue());
110 this->chemistryPtr_->calculate();
126 const label specieI =
129 Su += this->chemistryPtr_->RR(specieI);
146 IOobject::groupName(typeName +
":dQ", this->phaseName_),
160 tdQ.
ref() = this->chemistryPtr_->dQ();
177 IOobject::groupName(typeName +
":Sh", this->phaseName_),
191 tSh.
ref() = this->chemistryPtr_->Sh();
203 this->coeffs().lookup(
"integrateReactionRate")
204 >> integrateReactionRate_;
virtual void correct()
Correct combustion rate.
fvMatrix< scalar > fvScalarMatrix
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 > dQ() const
Heat release rate calculated from fuel consumption rate matrix.
virtual tmp< volScalarField > Sh() const
Return source for enthalpy equation [kg/m/s3].
Ostream & endl(Ostream &os)
Add newline and flush stream.
word member() const
Return member (name without the extension)
virtual tmp< fvScalarMatrix > R(volScalarField &Y) const
Fuel consumption rate matrix.
psiReactionThermo & thermo
const dimensionSet dimVolume(pow3(dimLength))
bool read(const char *, int32_t &)
Laminar combustion model.
stressControl lookup("compactNormalStress") >> compactNormalStress
tmp< volScalarField > tc() const
Return the chemical time scale.
A class for handling words, derived from string.
A special matrix type and solver, designed for finite volume solutions of scalar equations. Face addressing is used to make all matrix assembly and solution loops vectorise.
dimensioned< Type > min(const dimensioned< Type > &, const dimensioned< Type > &)
const dimensionSet dimEnergy
virtual ~laminar()
Destructor.
dimensioned< scalar > dimensionedScalar
Dimensioned scalar obtained from generic dimensioned type.
PtrList< volScalarField > & Y
Mesh data needed to do the Finite Volume discretisation.
const dimensionSet dimTime(0, 0, 1, 0, 0, 0, 0)
const dimensionSet dimMass(1, 0, 0, 0, 0, 0, 0)
A class for managing temporary objects.
T & ref() const
Return non-const reference or generate a fatal error.
tmp< GeometricField< Type, fvPatchField, volMesh > > Su(const GeometricField< Type, fvPatchField, volMesh > &su, const GeometricField< Type, fvPatchField, volMesh > &vf)
IOobject defines the attributes of an object for which implicit objectRegistry management is supporte...
Calculate the matrix for implicit and explicit sources.
virtual bool read()
Update properties from given dictionary.