33 {
"v1981",
"v1996",
"v2005",
"v2016"};
41 namespace combustionModels
52 const word& modelType,
55 const word& combustionProperties
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)
108 if (!outerCorrect_ && timeIndex_ == this->
mesh().time().
timeIndex())
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 combustion models.
virtual bool read()
Update properties from given dictionary.
Eddy Dissipation Concept (EDC) turbulent combustion model.
virtual void correct()
Correct combustion rate.
EDC(const word &modelType, const fluidMulticomponentThermo &type, const compressibleMomentumTransportModel &turb, const word &combustionProperties)
Construct from components.
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.
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.
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)
defineTypeNameAndDebug(diffusion, 0)
const NamedEnum< EDCversions, 4 > EDCversionNames
const EDCversions EDCdefaultVersion
EDCversions
EDC model versions.
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.
fvMatrix< scalar > fvScalarMatrix
void pow025(LagrangianPatchField< scalar > &f, const LagrangianPatchField< scalar > &f1)
const dimensionSet dimless
layerAndWeight min(const layerAndWeight &a, const layerAndWeight &b)
const dimensionSet dimTime
void pow(LagrangianPatchField< typename powProduct< Type, r >::type > &f, const LagrangianPatchField< Type > &f1)
word typedName(Name name)
Return the name of the object within the given type.
layerAndWeight max(const layerAndWeight &a, const layerAndWeight &b)
void sqr(LagrangianPatchField< typename outerProduct< Type, Type >::type > &f, const LagrangianPatchField< Type > &f1)
word name(const LagrangianState state)
Return a string representation of a Lagrangian state enumeration.
const dimensionSet dimMass
void sqrt(LagrangianPatchField< scalar > &f, const LagrangianPatchField< scalar > &f1)
autoPtr< incompressible::momentumTransportModel > turbulence(incompressible::momentumTransportModel::New(U, phi, viscosity))
PtrList< volScalarField > & Y
fluidMulticomponentThermo & thermo