43 Foam::XiEqModels::SCOPEXiEq::SCOPEXiEq
45 const dictionary& XiEqProperties,
46 const psiuReactionThermo&
thermo,
51 XiEqModel(XiEqProperties, thermo, turbulence, Su),
63 Su.
mesh().lookupObject<IOdictionary>(
"combustionProperties"),
95 tmp<volScalarField> tXiEq
102 epsilon.time().timeName(),
115 if (Ma[celli] > 0.01)
118 XiEqCoef_*
pow(
K[celli]*Ma[celli], -XiEqExp_)*upBySu[celli];
122 volScalarField::Boundary& xieqBf = xieq.boundaryFieldRef();
133 if (Ma[facei] > 0.01)
136 XiEqCoef_*
pow(Kp[facei]*Map[facei], -XiEqExp_)
dictionary XiEqModelCoeffs_
Dictionary.
#define forAll(list, i)
Loop across all elements in list.
virtual tmp< volScalarField > muu() const =0
Dynamic viscosity of unburnt gas [kg/ms].
tmp< volScalarField > calculateSchelkinEffect(const scalar) const
Return the sub-grid Schelkin effect.
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.
virtual tmp< volScalarField > XiEq() const
Return the flame-wrinking XiEq.
rhoReactionThermo & thermo
CGAL::Exact_predicates_exact_constructions_kernel K
Macros for easy insertion into run-time selection tables.
virtual ~SCOPEXiEq()
Destructor.
GeometricField< scalar, fvPatchField, volMesh > volScalarField
stressControl lookup("compactNormalStress") >> compactNormalStress
Field< scalar > scalarField
Specialisation of Field<T> for scalar.
dimensioned< Type > average(const DimensionedField< Type, GeoMesh > &df)
bool readScalar(const char *buf, doubleScalar &s)
Read whole of buf as a scalar. Return true if successful.
const psiuReactionThermo & thermo_
Thermo.
addToRunTimeSelectionTable(ensightPart, ensightPartCells, istream)
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
Internal & ref()
Return a reference to the dimensioned internal field.
dimensionedScalar pow(const dimensionedScalar &ds, const dimensionedScalar &expt)
const dimensionSet dimless(0, 0, 0, 0, 0, 0, 0)
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.
A class for managing temporary objects.
ITstream & lookup(const word &, bool recursive=false, bool patternMatch=true) const
Find and return an entry data stream.
const compressible::RASModel & turbulence_
Turbulence.