27 #include "XiEqModel.H"
54 dict.lookupOrDefault<
Switch>(
"strainReduction",
true);
56 dict.lookupOrDefault<
Switch>(
"curvatureReduction",
false);
57 differentialPropagation_ =
58 dict.lookupOrDefault<
Switch>(
"differentialPropagation",
false);
93 return XiEqModel_->Db();
111 1 + XiProfile_->profile()()*(XiEqStar - 1)
123 if (differentialPropagation_)
133 +
fvm::div(phi + phiXi, Xi_,
"div(phiXi,Xi)")
142 if (strainReduction_)
152 (
n() &
n())*
tr(gradU) - (
n & gradU &
n),
157 XiEqn +=
fvm::Sp(rhoSigma, Xi_) - rhoSigma;
160 if (curvatureReduction_)
170 (
n() &
n())*
tr(gradSt) - (
n & gradSt &
n),
175 XiEqn +=
fvm::Sp(rhoSigmaSt, Xi_) - rhoSigmaSt;
188 Xi_ =
min(Xi_, 2*XiEqEta);
Macros for easy insertion into run-time selection tables.
volScalarField Db("Db", rho *turbulence->nuEff())
static fvModels & New(const word &name, const fvMesh &mesh)
Construct and return the named DemandDrivenMeshObject.
Field with dimensions and associated with geometry type GeoMesh which is used to size the field and a...
Generic GeometricField class.
writeOption & writeOpt() const
A simple wrapper around bool so that it can be read as a word: true/false, on/off,...
Base class for equilibrium flame wrinkling XiEq models.
Base class for flame wrinkling Xi generation rate models.
Base-class for all Xi models used by the b-Xi combustion model.
volScalarField Xi_
Flame wrinkling field.
virtual bool readCoeffs(const dictionary &dict)=0
Update coefficients from given dictionary.
Transport model for flame wrinkling Xi.
virtual void correct()
Correct the flame-wrinkling Xi.
transport(const dictionary &dict, const ubRhoThermo &thermo, const compressibleMomentumTransportModel &turbulence, const volScalarField &Su)
Construct from components.
virtual bool readCoeffs(const dictionary &dict)
Update coefficients from given dictionary.
virtual tmp< volScalarField > Db() const
Return the flame diffusivity.
virtual ~transport()
Destructor.
Base class for flame wrinkling profiles.
Base class for single-phase compressible momentum transport models.
A list of keywords followed by any number of values (e.g. words and numbers) or sub-dictionaries.
Finite volume constraints.
bool constrain(fvMatrix< Type > &eqn) const
Apply constraints to an equation.
A special matrix type and solver, designed for finite volume solutions of scalar equations....
void relax(const scalar alpha)
Relax matrix (for steady-state solution).
SolverPerformance< Type > solve(const dictionary &)
Solve segregated or coupled returning the solution statistics.
Mesh data needed to do the Finite Volume discretisation.
tmp< fvMatrix< Type > > source(const VolField< Type > &field) const
Return source for an equation.
const Type & lookupObject(const word &name) const
Lookup and return the object of the given Type and name.
A class for managing temporary objects.
Foam::fvConstraints & fvConstraints(Foam::fvConstraints::New(mesh))
Foam::fvModels & fvModels(Foam::fvModels::New(mesh))
Foam::fvMesh mesh(Foam::IOobject(regionName, runTime.name(), runTime, Foam::IOobject::MUST_READ), false)
Calculate the laplacian of the given field.
Calculate the matrix for the divergence of the given field and flux.
defineTypeNameAndDebug(equilibrium, 0)
addToRunTimeSelectionTable(XiModel, equilibrium, dictionary)
const dimensionedScalar G
Newtonian constant of gravitation.
static tmp< SurfaceField< Type > > interpolate(const VolField< Type > &tvf, const surfaceScalarField &faceFlux, Istream &schemeData)
Interpolate field onto faces using scheme given by Istream.
tmp< VolField< Type > > laplacian(const VolField< Type > &vf, const word &name)
tmp< VolField< Type > > Su(const VolField< Type > &su, const VolField< Type > &vf)
tmp< VolField< typename outerProduct< vector, Type >::type > > grad(const SurfaceField< Type > &ssf)
tmp< VolField< Type > > div(const SurfaceField< Type > &ssf)
tmp< fvMatrix< Type > > div(const surfaceScalarField &flux, const VolField< Type > &vf, const word &name)
tmp< fvMatrix< Type > > Sp(const volScalarField::Internal &, const VolField< Type > &)
tmp< fvMatrix< Type > > ddt(const VolField< Type > &vf)
const dimensionSet & dimless
void tr(pointPatchField< scalar > &, const pointPatchField< tensor > &)
const dimensionSet & dimTime
dimensioned< Type > min(const DimensionedField< Type, GeoMesh, PrimitiveField > &df)
static scalar R(const scalar a, const scalar x)
tmp< DimensionedField< TypeR, GeoMesh, Field > > New(const tmp< DimensionedField< TypeR, GeoMesh, Field >> &tdf1, const word &name, const dimensionSet &dimensions)
dimensioned< Type > max(const DimensionedField< Type, GeoMesh, PrimitiveField > &df)
dimensioned< scalar > dimensionedScalar
Dimensioned scalar obtained from generic dimensioned type.
autoPtr< incompressible::momentumTransportModel > turbulence(incompressible::momentumTransportModel::New(U, phi, viscosity))
fluidMulticomponentThermo & thermo