45 Foam::XiEqModels::SCOPEXiEq::SCOPEXiEq
47 const dictionary& XiEqProperties,
48 const psiuReactionThermo&
thermo,
54 XiEqCoef_(XiEqModelCoeffs_.
get<scalar>(
"XiEqCoef")),
55 XiEqExp_(XiEqModelCoeffs_.
get<scalar>(
"XiEqExp")),
56 lCoef_(XiEqModelCoeffs_.
get<scalar>(
"lCoef")),
58 uPrimeCoef_(XiEqModelCoeffs_.
get<scalar>(
"uPrimeCoef")),
59 subGridSchelkin_(XiEqModelCoeffs_.
get<bool>(
"subGridSchelkin")),
62 Su.
mesh().lookupObject<IOdictionary>(
"combustionProperties"),
84 up.primitiveFieldRef() += calculateSchelkinEffect(uPrimeCoef_);
94 tmp<volScalarField> tXiEq
114 if (Ma[celli] > 0.01)
117 XiEqCoef_*
pow(
K[celli]*Ma[celli], -XiEqExp_)*upBySu[celli];
123 forAll(xieq.boundaryField(), patchi)
127 const scalarField& Map = Ma.boundaryField()[patchi];
128 const scalarField& upBySup = upBySu.boundaryField()[patchi];
132 if (Ma[facei] > 0.01)
135 XiEqCoef_*
pow(Kp[facei]*Map[facei], -XiEqExp_)
149 XiEqModelCoeffs_.readEntry(
"XiEqCoef", XiEqCoef_);
150 XiEqModelCoeffs_.readEntry(
"XiEqExp", XiEqExp_);
151 XiEqModelCoeffs_.readEntry(
"lCoef", lCoef_);
152 XiEqModelCoeffs_.readEntry(
"uPrimeCoef", uPrimeCoef_);
153 XiEqModelCoeffs_.readEntry(
"subGridSchelkin", subGridSchelkin_);
List< ReturnType > get(const UPtrList< T > &list, const AccessOp &aop)
List of values generated by applying the access operation to each list item.
dimensionedScalar sqrt(const dimensionedScalar &ds)
tmp< GeometricField< Type, faPatchField, areaMesh > > average(const GeometricField< Type, faePatchField, edgeMesh > &ssf)
Area-weighted average a edgeField creating a areaField.
virtual bool read(const dictionary &XiEqProperties)=0
Update properties from given dictionary.
GeometricBoundaryField< scalar, fvPatchField, volMesh > Boundary
Type of boundary fields.
label k
Boltzmann constant.
virtual tmp< volScalarField > XiEq() const
Return the flame-wrinkling XiEq.
Ignore writing from objectRegistry::writeObject()
const dimensionSet dimless
Dimensionless.
CGAL::Exact_predicates_exact_constructions_kernel K
Macros for easy insertion into run-time selection tables.
virtual ~SCOPEXiEq()
Destructor.
#define forAll(list, i)
Loop across all elements in list.
GeometricField< scalar, fvPatchField, volMesh > volScalarField
psiReactionThermo & thermo
Field< scalar > scalarField
Specialisation of Field<T> for scalar.
Info<< "Reading field U\"<< endl;volVectorField U(IOobject("U", runTime.timeName(), mesh, IOobject::MUST_READ, IOobject::AUTO_WRITE), mesh);volScalarField rho(IOobject("rho", runTime.timeName(), mesh, IOobject::NO_READ, IOobject::AUTO_WRITE), thermo.rho());volVectorField rhoU(IOobject("rhoU", runTime.timeName(), mesh, IOobject::NO_READ, IOobject::NO_WRITE), rho *U);volScalarField rhoE(IOobject("rhoE", runTime.timeName(), mesh, IOobject::NO_READ, IOobject::NO_WRITE), rho *(e+0.5 *magSqr(U)));surfaceScalarField pos(IOobject("pos", runTime.timeName(), mesh), mesh, dimensionedScalar("pos", dimless, 1.0));surfaceScalarField neg(IOobject("neg", runTime.timeName(), mesh), mesh, dimensionedScalar("neg", dimless, -1.0));surfaceScalarField phi("phi", fvc::flux(rhoU));Info<< "Creating turbulence model\"<< endl;autoPtr< compressible::turbulenceModel > turbulence(compressible::turbulenceModel::New(rho, U, phi, thermo))
defineTypeNameAndDebug(combustionModel, 0)
RASModel< EddyDiffusivity< turbulenceModel > > RASModel
addToRunTimeSelectionTable(decompositionMethod, kahipDecomp, dictionary)
dimensionedScalar pow(const dimensionedScalar &ds, const dimensionedScalar &expt)
dimensioned< scalar > dimensionedScalar
Dimensioned scalar obtained from generic dimensioned type.
virtual bool read(const dictionary &XiEqProperties)
Update properties from given dictionary.
Internal & ref(const bool updateAccessTime=true)
Same as internalFieldRef()
A class for managing temporary objects.
static constexpr const zero Zero
Global zero (0)