30 template<
class BasePhaseModel>
31 template<
class Type,
template<
class>
class PatchField,
class GeoMesh>
36 const dimensionSet& dims,
40 return tmp<GeometricField<Type, PatchField, GeoMesh>>
42 new GeometricField<Type, PatchField, GeoMesh>
46 IOobject::groupName(name, this->
name()),
51 dimensioned<Type>(
"zero", dims, pTraits<Type>::zero)
57 template<
class BasePhaseModel>
63 const dimensionSet& dims,
67 return zeroField<Type, fvPatchField, volMesh>(
name, dims, cache);
71 template<
class BasePhaseModel>
77 const dimensionSet& dims,
81 return zeroField<Type, fvsPatchField, surfaceMesh>(
name, dims, cache);
87 template<
class BasePhaseModel>
90 const phaseSystem&
fluid,
91 const word& phaseName,
95 BasePhaseModel(fluid, phaseName, index)
101 template<
class BasePhaseModel>
108 template<
class BasePhaseModel>
115 template<
class BasePhaseModel>
120 <<
"Cannot construct a momentum equation for a stationary phase" 123 return tmp<fvVectorMatrix>();
127 template<
class BasePhaseModel>
132 <<
"Cannot construct a momentum equation for a stationary phase" 135 return tmp<fvVectorMatrix>();
139 template<
class BasePhaseModel>
143 return zeroVolField<vector>(
"U",
dimVelocity,
true);
147 template<
class BasePhaseModel>
152 <<
"Cannot access the velocity of a stationary phase" 159 template<
class BasePhaseModel>
167 template<
class BasePhaseModel>
172 <<
"Cannot access the flux of a stationary phase" 179 template<
class BasePhaseModel>
187 template<
class BasePhaseModel>
192 <<
"Cannot access the volumetric flux of a stationary phase" 199 template<
class BasePhaseModel>
207 template<
class BasePhaseModel>
212 <<
"Cannot access the mass flux of a stationary phase" 219 template<
class BasePhaseModel>
227 template<
class BasePhaseModel>
235 template<
class BasePhaseModel>
243 template<
class BasePhaseModel>
251 template<
class BasePhaseModel>
259 template<
class BasePhaseModel>
267 template<
class BasePhaseModel>
271 return tmp<volScalarField>();
275 template<
class BasePhaseModel>
278 tmp<volScalarField>
divU 282 <<
"Cannot set the dilatation rate of a stationary phase" 287 template<
class BasePhaseModel>
295 template<
class BasePhaseModel>
299 return this->
thermo().mu();
303 template<
class BasePhaseModel>
307 return zeroVolField<scalar>(
"continuityError",
dimViscosity);
311 template<
class BasePhaseModel>
315 return this->
thermo().nu();
319 template<
class BasePhaseModel>
323 return this->
thermo().kappa();
327 template<
class BasePhaseModel>
331 return this->
thermo().kappa(patchi);
335 template<
class BasePhaseModel>
339 return this->
thermo().alpha();
343 template<
class BasePhaseModel>
347 return this->
thermo().alpha(patchi);
351 template<
class BasePhaseModel>
359 template<
class BasePhaseModel>
363 return zeroVolField<scalar>(
"pPrime",
dimPressure);
virtual tmp< volScalarField > mut() const
Return the turbulent dynamic viscosity.
virtual tmp< surfaceScalarField > alphaPhi() const
Return the volumetric flux of the phase.
intWM_LABEL_SIZE_t label
A label is an int32_t or int64_t as specified by the pre-processor macro WM_LABEL_SIZE.
virtual surfaceScalarField & phiRef()
Access the volumetric flux.
virtual tmp< fvVectorMatrix > UEqn()
Return the momentum equation.
errorManipArg< error, int > exit(error &err, const int errNo=1)
#define FatalErrorInFunction
Report an error message using Foam::FatalError.
virtual tmp< fvVectorMatrix > UfEqn()
Return the momentum equation for the face-based algorithm.
virtual tmp< surfaceScalarField > phi() const
Return the volumetric flux.
dimensionedSymmTensor sqr(const dimensionedVector &dv)
const dimensionSet dimViscosity
virtual tmp< surfaceScalarField > DUDtf() const
Return the substantive acceleration on the faces.
virtual tmp< volScalarField > continuityErrorSources() const
Return the continuity error due to any sources.
rhoReactionThermo & thermo
GeometricField< vector, fvPatchField, volMesh > volVectorField
const dimensionSet dimDynamicViscosity
virtual tmp< volScalarField > divU() const
Return the phase dilatation rate (d(alpha)/dt + div(alpha*phi))
virtual tmp< volScalarField > nuEff() const
Return the effective kinematic viscosity.
virtual tmp< volScalarField > kappaEff() const
Return the effective thermal conductivity.
virtual tmp< volVectorField > U() const
Return the velocity.
const dimensionSet dimVolume(pow3(dimLength))
Class which represents a stationary (and therefore probably solid) phase. Generates, but does not store, zero velocity and flux field and turbulent qauantities. Throws an error when non-const access is requested to the motion fields or when the momentum equation is requested. Usage must must protect against such calls.
virtual tmp< surfaceScalarField > alphaRhoPhi() const
Return the mass flux of the phase.
virtual surfaceScalarField & alphaRhoPhiRef()
Access the mass flux of the phase.
const dimensionSet dimPressure
virtual tmp< volScalarField > continuityErrorFlow() const
Return the continuity error due to the flow field.
virtual tmp< volScalarField > k() const
Return the turbulent kinetic energy.
word name(const complex &)
Return a string representation of a complex.
const dimensionSet dimDensity
static const GeometricField< vector, fvPatchField, volMesh > & null()
Return a null geometric field.
virtual tmp< volScalarField > pPrime() const
Return the phase-pressure'.
virtual surfaceScalarField & alphaPhiRef()
Access the volumetric flux of the phase.
const dimensionSet dimTime(0, 0, 1, 0, 0, 0, 0)
virtual volVectorField & URef()
Access the velocity.
virtual tmp< volScalarField > muEff() const
Return the effective dynamic viscosity.
virtual tmp< volScalarField > K() const
Return the phase kinetic energy.
const dimensionSet dimMass(1, 0, 0, 0, 0, 0, 0)
A class for managing temporary objects.
GeometricField< scalar, fvsPatchField, surfaceMesh > surfaceScalarField
virtual tmp< volScalarField > alphaEff() const
Return the effective thermal diffusivity.
virtual tmp< volScalarField > continuityError() const
Return the continuity error.
virtual ~StationaryPhaseModel()
Destructor.
const dimensionSet dimArea(sqr(dimLength))
virtual tmp< volScalarField > nut() const
Return the turbulent kinematic viscosity.
virtual bool stationary() const
Return whether the phase is stationary.
virtual tmp< volVectorField > DUDt() const
Return the substantive acceleration.
StationaryPhaseModel(const phaseSystem &fluid, const word &phaseName, const label index)
const dimensionSet dimVelocity