33 {
"v1981",
"v1996",
"v2005",
"v2016"};
41 namespace reactionModels
52 const word& modelType,
55 const word& reactionProperties
63 this->coeffs().lookupOrDefault
70 C1_(this->coeffs().lookupOrDefault(
"C1", 0.05774)),
71 C2_(this->coeffs().lookupOrDefault(
"C2", 0.5)),
72 Cgamma_(this->coeffs().lookupOrDefault(
"Cgamma", 2.1377)),
73 Ctau_(this->coeffs().lookupOrDefault(
"Ctau", 0.4083)),
74 exp1_(this->coeffs().lookupOrDefault(
"exp1",
EDCexp1[int(version_)])),
75 exp2_(this->coeffs().lookupOrDefault(
"exp2",
EDCexp2[int(version_)])),
91 this->coeffs().lookupOrDefault(
"outerCorrect", true)
134 const scalar ReT =
sqr(
k[i])/(nu[i]*
epsilon[i] + small);
135 const scalar CtauI =
min(C1_/(Da*
sqrt(ReT + 1)), Ctau_);
137 const scalar CgammaI =
140 const scalar gammaL =
143 tauStar[i] = CtauI*
sqrt(nu[i]/(
epsilon[i] + small));
156 pow(gammaL, exp1_)/(1 -
pow(gammaL, exp2_)),
168 const scalar gammaL =
171 tauStar[i] = Ctau_*
sqrt(nu[i]/(
epsilon[i] + small));
183 pow(gammaL, exp1_)/(1 -
pow(gammaL, exp2_)),
192 chemistryPtr_->solve(tauStar);
201 return kappa_*chemistryPtr_->RR()[speciei];
212 Su += chemistryPtr_->RR()[speciei];
224 kappa_*chemistryPtr_->Qdot()
237 this->coeffs().lookupOrDefault
244 C1_ = this->coeffs().lookupOrDefault(
"C1", 0.05774);
245 C2_ = this->coeffs().lookupOrDefault(
"C2", 0.5);
246 Cgamma_ = this->coeffs().lookupOrDefault(
"Cgamma", 2.1377);
247 Ctau_ = this->coeffs().lookupOrDefault(
"Ctau", 0.4083);
248 exp1_ = this->coeffs().lookupOrDefault(
"exp1",
EDCexp1[
int(version_)]);
249 exp2_ = this->coeffs().lookupOrDefault(
"exp2",
EDCexp2[
int(version_)]);
250 outerCorrect_ = this->coeffs().lookupOrDefault(
"outerCorrect",
true);
#define forAll(list, i)
Loop across all elements in list.
Macros for easy insertion into run-time selection tables.
Generic GeometricField class.
static tmp< GeometricField< Type, GeoMesh, PrimitiveField > > New(const word &name, const Internal &, const PtrList< Patch > &, const HashPtrTable< Source > &=HashPtrTable< Source >())
Return a temporary field constructed from name,.
IOobject defines the attributes of an object for which implicit objectRegistry management is supporte...
static word member(const word &name)
Return member (name without the extension)
Initialise the NamedEnum HashTable from the static list of names.
label timeIndex() const
Return current time index.
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.
Base class for reaction models.
virtual bool read()
Update properties from given dictionary.
Eddy Dissipation Concept (EDC) turbulent reaction model.
EDC(const word &modelType, const fluidMulticomponentThermo &type, const compressibleMomentumTransportModel &turb, const word &reactionProperties)
Construct from components.
virtual void correct()
Correct reaction rate.
virtual ~EDC()
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.
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)
const dimensionSet dimless
tmp< VolField< Type > > Su(const VolField< Type > &su, const VolField< Type > &vf)
const EDCversions EDCdefaultVersion
defineTypeNameAndDebug(diffusion, 0)
addToRunTimeSelectionTable(reactionModel, diffusion, dictionary)
EDCversions
EDC model versions.
const NamedEnum< EDCversions, 4 > EDCversionNames
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
fvMatrix< scalar > fvScalarMatrix
void pow025(LagrangianPatchField< scalar > &f, const LagrangianPatchField< scalar > &f1)
tmp< DimensionedField< typename outerProduct< Type, Type >::type, GeoMesh, Field >> sqr(const DimensionedField< Type, GeoMesh, PrimitiveField > &df)
const dimensionSet & dimTime
dimensioned< Type > min(const DimensionedField< Type, GeoMesh, PrimitiveField > &df)
word typedName(Name name)
Return the name of the object within the given type.
word name(const LagrangianState state)
Return a string representation of a Lagrangian state enumeration.
tmp< DimensionedField< typename powProduct< Type, r >::type, GeoMesh, Field > > pow(const DimensionedField< Type, GeoMesh, PrimitiveField > &df, typename powProduct< Type, r >::type)
void sqrt(LagrangianPatchField< scalar > &f, const LagrangianPatchField< scalar > &f1)
tmp< DimensionedField< TypeR, GeoMesh, Field > > New(const tmp< DimensionedField< TypeR, GeoMesh, Field >> &tdf1, const word &name, const dimensionSet &dimensions)
dimensioned< Type > max(const DimensionedField< Type, GeoMesh, PrimitiveField > &df)
autoPtr< incompressible::momentumTransportModel > turbulence(incompressible::momentumTransportModel::New(U, phi, viscosity))
PtrList< volScalarField > & Y
fluidMulticomponentThermo & thermo