35 namespace reactionModels
47 const word& modelType,
50 const word& reactionProperties
60 integrateReactionRate_
62 this->coeffs().lookupOrDefault(
"integrateReactionRate", true)
66 this->coeffs().lookupOrDefault(
"maxIntegrationTime", vGreat)
70 this->coeffs().lookupOrDefault(
"outerCorrect", false)
75 if (integrateReactionRate_)
77 Info<<
" using integrated reaction rate" <<
endl;
81 Info<<
" using instantaneous reaction rate" <<
endl;
98 (integrateReactionRate_ || !outerCorrect_)
105 if (integrateReactionRate_)
112 chemistryPtr_->solve(
min(1/rDeltaT, maxIntegrationTime_)());
118 chemistryPtr_->solve(
min(deltaT, maxIntegrationTime_));
123 chemistryPtr_->calculate();
133 return chemistryPtr_->RR()[speciei];
144 Su += chemistryPtr_->RR()[specieI];
152 return chemistryPtr_->Qdot();
160 integrateReactionRate_ =
161 this->coeffs().lookupOrDefault(
"integrateReactionRate",
true);
162 maxIntegrationTime_ =
163 this->coeffs().lookupOrDefault(
"maxIntegrationTime", vGreat);
165 this->coeffs().lookupOrDefault(
"outerCorrect",
false);
Macros for easy insertion into run-time selection tables.
Generic GeometricField class.
static word member(const word &name)
Return member (name without the extension)
label timeIndex() const
Return current time index.
scalar deltaTValue() const
Return time step value.
Base class for chemistry models.
Base class for single-phase compressible momentum transport models.
A list of keywords followed by any number of values (e.g. words and numbers) or sub-dictionaries.
Base-class for multi-component fluid thermodynamic properties.
A special matrix type and solver, designed for finite volume solutions of scalar equations....
const Time & time() const
Return the top-level database.
static const volScalarField & localRDeltaT(const fvMesh &mesh)
Return the reciprocal of the local time-step.
static bool enabled(const fvMesh &mesh)
Return true if LTS is enabled.
Base class for reaction models.
virtual bool read()
Update properties from given dictionary.
virtual void correct()
Correct reaction rate.
virtual ~laminar()
Destructor.
laminar(const word &modelType, const fluidMulticomponentThermo &thermo, const compressibleMomentumTransportModel &turb, const word &reactionProperties)
Construct from components.
virtual tmp< volScalarField::Internal > R(const label speciei) const
Specie consumption rate field.
virtual tmp< volScalarField > Qdot() const
Heat release rate [kg/m/s^3].
virtual bool read()
Update properties from given dictionary.
A class for managing temporary objects.
T & ref() const
Return non-const reference or generate a fatal error.
A class for handling words, derived from string.
Foam::fvMesh mesh(Foam::IOobject(regionName, runTime.name(), runTime, Foam::IOobject::MUST_READ), false)
Calculate the matrix for implicit and explicit sources.
tmp< VolField< Type > > Su(const VolField< Type > &su, const VolField< Type > &vf)
defineTypeNameAndDebug(diffusion, 0)
addToRunTimeSelectionTable(reactionModel, diffusion, dictionary)
intWM_LABEL_SIZE_t label
A label is an int32_t or int64_t as specified by the pre-processor macro WM_LABEL_SIZE.
const dimensionSet & dimMass
Ostream & endl(Ostream &os)
Add newline and flush stream.
fvMatrix< scalar > fvScalarMatrix
const dimensionSet & dimTime
dimensioned< Type > min(const DimensionedField< Type, GeoMesh, PrimitiveField > &df)
tmp< DimensionedField< TypeR, GeoMesh, Field > > New(const tmp< DimensionedField< TypeR, GeoMesh, Field >> &tdf1, const word &name, const dimensionSet &dimensions)
PtrList< volScalarField > & Y
fluidMulticomponentThermo & thermo