33 template<
class ReactionThermo>
36 const word& modelType,
39 const word& combustionProperties
43 Cmix_(this->coeffs().getScalar(
"Cmix")),
48 thermo.phaseScopedName(typeName,
"kappa"),
63 template<
class ReactionThermo>
70 template<
class ReactionThermo>
78 const auto&
epsilon = tepsilon();
81 const auto& muEff = tmuEff();
84 const auto& tc = ttc();
96 kappa_[i] = tc[i]/(tc[i] + tk);
105 kappa_.correctBoundaryConditions();
110 template<
class ReactionThermo>
118 template<
class ReactionThermo>
124 this->
thermo().phaseScopedName(typeName,
"Qdot"),
131 template<
class ReactionThermo>
136 this->coeffs().readEntry(
"Cmix", Cmix_);
virtual void correct()
Correct combustion rate.
virtual tmp< fvScalarMatrix > R(volScalarField &Y) const
Fuel consumption rate matrix.
virtual tmp< volScalarField > Qdot() const
Heat release rate [kg/m/s3].
label max(const labelHashSet &set, label maxValue=labelMin)
Find the max value in labelHashSet, optionally limited by second argument.
virtual bool read()
Update properties from given dictionary.
compressible::turbulenceModel & turb
dimensionedScalar sqrt(const dimensionedScalar &ds)
tmp< volScalarField > trho
const dimensionSet dimless
Dimensionless.
Partially stirred reactor turbulent combustion model.
#define forAll(list, i)
Loop across all elements in list.
psiReactionThermo & thermo
Laminar combustion model.
A class for handling words, derived from Foam::string.
Basic thermodynamics type based on the use of fitting functions for cp, h, s obtained from the templa...
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())
Return tmp field (NO_READ, NO_WRITE) from name, mesh, dimensions and patch type. [Takes current timeN...
Abstract base class for turbulence models (RAS, LES and laminar).
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))
virtual void correct()
Correct combustion rate.
PtrList< volScalarField > & Y
virtual ~PaSR()
Destructor.
A class for managing temporary objects.
Defines the attributes of an object for which implicit objectRegistry management is supported...
virtual tmp< fvScalarMatrix > R(volScalarField &Y) const
Fuel consumption rate matrix.
Do not request registration (bool: false)
static constexpr const zero Zero
Global zero (0)