35 namespace combustionModels
47 const word& modelType,
50 const word& combustionProperties
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 combustion models.
virtual bool read()
Update properties from given dictionary.
Laminar combustion model.
laminar(const word &modelType, const fluidMulticomponentThermo &thermo, const compressibleMomentumTransportModel &turb, const word &combustionProperties)
Construct from components.
virtual void correct()
Correct combustion rate.
virtual ~laminar()
Destructor.
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.
Base class for single-phase compressible turbulence 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.
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.
defineTypeNameAndDebug(diffusion, 0)
addToRunTimeSelectionTable(combustionModel, diffusion, dictionary)
autoPtr< CompressibleMomentumTransportModel > New(const volScalarField &rho, const volVectorField &U, const surfaceScalarField &phi, const viscosity &viscosity)
tmp< VolField< Type > > Su(const VolField< Type > &su, const VolField< Type > &vf)
intWM_LABEL_SIZE_t label
A label is an int32_t or int64_t as specified by the pre-processor macro WM_LABEL_SIZE.
Ostream & endl(Ostream &os)
Add newline and flush stream.
fvMatrix< scalar > fvScalarMatrix
layerAndWeight min(const layerAndWeight &a, const layerAndWeight &b)
const dimensionSet dimTime
const dimensionSet dimMass
PtrList< volScalarField > & Y
fluidMulticomponentThermo & thermo