30 template<
class ReactionThermo>
33 const word& modelType,
34 const ReactionThermo& thermo,
36 const word& combustionProperties
40 Cmix_(this->coeffs().template lookup<scalar>(
"Cmix")),
45 thermo.phasePropertyName(typeName +
":kappa"),
46 this->
mesh().time().timeName(),
59 template<
class ReactionThermo>
66 template<
class ReactionThermo>
86 Cmix_*
sqrt(
max(muEff[i]/rho[i]/(epsilon[i] + small), 0));
90 kappa_[i] = tc[i]/(tc[i] + tk);
100 template<
class ReactionThermo>
108 template<
class ReactionThermo>
114 this->
thermo().phasePropertyName(typeName +
":Qdot"),
120 template<
class ReactionThermo>
125 this->coeffs().lookup(
"Cmix") >> Cmix_;
#define forAll(list, i)
Loop across all elements in list.
virtual tmp< fvScalarMatrix > R(volScalarField &Y) const
Fuel consumption rate matrix.
virtual tmp< volScalarField > Qdot() const
Heat release rate [kg/m/s^3].
dimensioned< Type > max(const dimensioned< Type > &, const dimensioned< Type > &)
PaSR(const word &modelType, const ReactionThermo &thermo, const compressibleMomentumTransportModel &turb, const word &combustionProperties)
Construct from components.
virtual bool read()
Update properties from given dictionary.
dimensionedScalar sqrt(const dimensionedScalar &ds)
tmp< volScalarField > trho
rhoReactionThermo & thermo
Laminar combustion model.
autoPtr< BasicCompressibleMomentumTransportModel > New(const volScalarField &rho, const volVectorField &U, const surfaceScalarField &phi, const typename BasicCompressibleMomentumTransportModel::transportModel &transport)
A class for handling words, derived from string.
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))
Info<< "Predicted p max-min : "<< max(p).value()<< " "<< min(p).value()<< endl;rho==max(rho0+psi *p, rhoMin);# 1 "/home/ubuntu/OpenFOAM-8/applications/solvers/multiphase/cavitatingFoam/alphavPsi.H" 1{ alphav=max(min((rho - rholSat)/(rhovSat - rholSat), scalar(1)), scalar(0));alphal=1.0 - alphav;Info<< "max-min alphav: "<< max(alphav).value()<< " "<< min(alphav).value()<< endl;psiModel-> correct()
virtual void correct()
Correct combustion rate.
const dimensionSet dimless(0, 0, 0, 0, 0, 0, 0)
#define R(A, B, C, D, E, F, K, M)
dimensioned< scalar > dimensionedScalar
Dimensioned scalar obtained from generic dimensioned type.
PtrList< volScalarField > & Y
virtual ~PaSR()
Destructor.
A class for managing temporary objects.
IOobject defines the attributes of an object for which implicit objectRegistry management is supporte...
Abstract base class for turbulence models (RAS, LES and laminar).