46Foam::XiEqModels::SCOPEXiEq::SCOPEXiEq
49 const psiuReactionThermo&
thermo,
51 const volScalarField&
Su
55 XiEqCoef_(XiEqModelCoeffs_.
get<scalar>(
"XiEqCoef")),
56 XiEqExp_(XiEqModelCoeffs_.
get<scalar>(
"XiEqExp")),
57 lCoef_(XiEqModelCoeffs_.
get<scalar>(
"lCoef")),
59 uPrimeCoef_(XiEqModelCoeffs_.
get<scalar>(
"uPrimeCoef")),
60 subGridSchelkin_(XiEqModelCoeffs_.
get<bool>(
"subGridSchelkin")),
63 Su.
mesh().lookupObject<IOdictionary>(
"combustionProperties"),
79 const tmp<volScalarField> tk(turbulence_.k());
81 const tmp<volScalarField> tepsilon(turbulence_.epsilon());
87 up.primitiveFieldRef() += calculateSchelkinEffect(uPrimeCoef_);
104 auto& xieq = tXiEq.ref();
108 if (Ma[celli] > 0.01)
111 XiEqCoef_*
pow(
K[celli]*Ma[celli], -XiEqExp_)*upBySu[celli];
117 forAll(xieq.boundaryField(), patchi)
121 const scalarField& Map = Ma.boundaryField()[patchi];
122 const scalarField& upBySup = upBySu.boundaryField()[patchi];
126 if (Ma[facei] > 0.01)
129 XiEqCoef_*
pow(Kp[facei]*Map[facei], -XiEqExp_)
143 XiEqModelCoeffs_.readEntry(
"XiEqCoef", XiEqCoef_);
144 XiEqModelCoeffs_.readEntry(
"XiEqExp", XiEqExp_);
145 XiEqModelCoeffs_.readEntry(
"lCoef", lCoef_);
146 XiEqModelCoeffs_.readEntry(
"uPrimeCoef", uPrimeCoef_);
147 XiEqModelCoeffs_.readEntry(
"subGridSchelkin", subGridSchelkin_);
CGAL::Exact_predicates_exact_constructions_kernel K
Macros for easy insertion into run-time selection tables.
#define addToRunTimeSelectionTable(baseType, thisType, argNames)
Add to construction table with typeName as the key.
static tmp< GeometricField< scalar, fvPatchField, volMesh > > New(const word &name, IOobjectOption::registerOption regOpt, const Mesh &mesh, const dimensionSet &dims, const word &patchFieldType=fvPatchField< scalar >::calculatedType())
GeometricBoundaryField< scalar, fvPatchField, volMesh > Boundary
@ NO_REGISTER
Do not request registration (bool: false).
virtual bool read(const dictionary &XiEqProperties)=0
Update properties from given dictionary.
Simple SCOPEXiEq model for XiEq based on SCOPEXiEqs correlation with a linear correction function to ...
virtual ~SCOPEXiEq()
Destructor.
virtual tmp< volScalarField > XiEq() const
Return the flame-wrinkling XiEq.
virtual bool read(const dictionary &XiEqProperties)
Update properties from given dictionary.
Basic thermodynamics type based on the use of fitting functions for cp, h, s obtained from the templa...
#define defineTypeNameAndDebug(Type, DebugSwitch)
Define the typeName and debug information.
compressible::turbulenceModel & turbulence
List< ReturnType > get(const UPtrList< T > &list, const AccessOp &aop)
List of values generated by applying the access operation to each list item.
tmp< GeometricField< Type, faPatchField, areaMesh > > average(const GeometricField< Type, faePatchField, edgeMesh > &ssf)
Area-weighted average a edgeField creating a areaField.
const dimensionSet dimless
Dimensionless.
GeometricField< scalar, fvPatchField, volMesh > volScalarField
Field< scalar > scalarField
Specialisation of Field<T> for scalar.
dimensionedScalar pow(const dimensionedScalar &ds, const dimensionedScalar &expt)
dimensionedScalar sqrt(const dimensionedScalar &ds)
static constexpr const zero Zero
Global zero (0).
dimensioned< scalar > dimensionedScalar
Dimensioned scalar obtained from generic dimensioned type.
#define forAll(list, i)
Loop across all elements in list.