45 const dictionary& XiEqProperties,
46 const psiuReactionThermo&
thermo,
51 XiEqModel(XiEqProperties, thermo, turbulence, Su),
52 XiEqCoef_(XiEqModelCoeffs_.
lookup<scalar>(
"XiEqCoef")),
53 XiEqExp_(XiEqModelCoeffs_.
lookup<scalar>(
"XiEqExp")),
54 lCoef_(XiEqModelCoeffs_.
lookup<scalar>(
"lCoef")),
56 uPrimeCoef_(XiEqModelCoeffs_.
lookup<scalar>(
"uPrimeCoef")),
63 Su.
mesh().lookupObject<IOdictionary>(
"combustionProperties"),
95 tmp<volScalarField> tXiEq
108 if (Ma[celli] > 0.01)
111 XiEqCoef_*
pow(
K[celli]*Ma[celli], -XiEqExp_)*upBySu[celli];
126 if (Ma[facei] > 0.01)
129 XiEqCoef_*
pow(Kp[facei]*Map[facei], -XiEqExp_)
dictionary XiEqModelCoeffs_
Dictionary.
#define forAll(list, i)
Loop across all elements in list.
fluidReactionThermo & thermo
virtual tmp< volScalarField > muu() const =0
Dynamic viscosity of unburnt gas [kg/m/s].
tmp< volScalarField > calculateSchelkinEffect(const scalar) const
Return the sub-grid Schelkin effect.
static tmp< GeometricField< scalar, fvPatchField, volMesh > > New(const word &name, const Internal &, const PtrList< fvPatchField< scalar >> &)
Return a temporary field constructed from name,.
virtual tmp< volScalarField > rhou() const
Unburnt gas density [kg/m^3].
dimensionedScalar sqrt(const dimensionedScalar &ds)
virtual bool read(const dictionary &XiEqProperties)=0
Update properties from given dictionary.
GeometricBoundaryField< scalar, fvPatchField, volMesh > Boundary
Type of the boundary field.
const dimensionSet dimless
virtual tmp< volScalarField > XiEq() const
Return the flame-wrinkling XiEq.
CGAL::Exact_predicates_exact_constructions_kernel K
Macros for easy insertion into run-time selection tables.
virtual ~SCOPEXiEq()
Destructor.
GeometricField< scalar, fvPatchField, volMesh > volScalarField
SCOPEXiEq(const dictionary &XiEqProperties, const psiuReactionThermo &thermo, const compressible::RASModel &turbulence, const volScalarField &Su)
Construct from components.
stressControl lookup("compactNormalStress") >> compactNormalStress
Field< scalar > scalarField
Specialisation of Field<T> for scalar.
dimensioned< Type > average(const DimensionedField< Type, GeoMesh > &df)
const psiuReactionThermo & thermo_
Thermo.
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(dimless, 1.0));surfaceScalarField neg(IOobject("neg", runTime.timeName(), mesh), mesh, dimensionedScalar(dimless, -1.0));surfaceScalarField phi("phi", fvc::flux(rhoU));Info<< "Creating turbulence model\"<< endl;autoPtr< compressible::momentumTransportModel > turbulence(compressible::momentumTransportModel::New(rho, U, phi, thermo))
addToRunTimeSelectionTable(ensightPart, ensightPartCells, istream)
defineTypeNameAndDebug(combustionModel, 0)
Internal & ref()
Return a reference to the dimensioned internal field.
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.
const volScalarField & Su_
Laminar burning velocity.
const tmp< volScalarField::Internal > & Su
A class for managing temporary objects.
RASModel< momentumTransportModel > RASModel
Typedefs for turbulence, RAS and LES models for compressible flow based on the standard laminar trans...
ITstream & lookup(const word &, bool recursive=false, bool patternMatch=true) const
Find and return an entry data stream.
const compressible::RASModel & turbulence_
Turbulence.