38 namespace compressible
57 const word& sourceName,
58 const word& modelType,
64 phaseName_(
dict.lookupOrDefault(
"phase",
word::null)),
86 fieldName_ = epsilonName;
90 fieldName_ = omegaName;
95 <<
"Cannot find either " << epsilonName <<
" or " << omegaName
124 mixture_.alpha1()()*mixture_.rho1()()*
sqr(mixture_.thermo1().nu()()())
125 + mixture_.alpha2()()*mixture_.rho2()()*
sqr(mixture_.thermo2().nu()()())
128 if (field.
name() ==
"epsilon")
130 eqn += mixture_.interfaceFraction()
131 *C2_*aRhoSqrnu*momentumTransport_.k()()/
pow4(delta_);
133 else if (field.
name() ==
"omega")
135 eqn += mixture_.interfaceFraction()
136 *beta_*aRhoSqrnu/(
sqr(betaStar_)*
pow4(delta_));
141 <<
"Support for field " << field.
name() <<
" is not implemented"
162 if (mixture_.alpha1().name() ==
alpha.name())
164 taRhoSqrnu = mixture_.alpha1()()*mixture_.rho1()()
165 *
sqr(mixture_.thermo1().nu()()());
167 else if (mixture_.alpha2().name() ==
alpha.name())
169 taRhoSqrnu = mixture_.alpha2()()*mixture_.rho2()()
170 *
sqr(mixture_.thermo2().nu()()());
175 <<
"Unknown phase-fraction " <<
alpha.name()
181 eqn += mixture_.interfaceFraction()
182 *C2_*taRhoSqrnu*momentumTransport_.k()()/
pow4(delta_);
186 eqn += mixture_.interfaceFraction()
187 *beta_*taRhoSqrnu/(
sqr(betaStar_)*
pow4(delta_));
192 <<
"Support for field " << field.
name() <<
" is not implemented"
Macros for easy insertion into run-time selection tables.
Field with dimensions and associated with geometry type GeoMesh which is used to size the field and a...
Generic GeometricField class.
const word & name() const
Return name.
static word groupName(Name name, const word &group)
Base class for single-phase compressible turbulence models.
Class to represent a mixture of two rhoFluidThermo-based phases.
A list of keywords followed by any number of values (e.g. words and numbers) or sub-dictionaries.
A special matrix type and solver, designed for finite volume solutions of scalar equations....
Mesh data needed to do the Finite Volume discretisation.
Finite volume model abstract base class.
const fvMesh & mesh() const
Return const access to the mesh database.
Free-surface momentumTransport damping function.
virtual bool movePoints()
Update for mesh motion.
virtual void addSup(const volScalarField &rho, const volScalarField &field, fvMatrix< scalar > &eqn) const
Add explicit contribution to epsilon or omega equation.
virtual wordList addSupFields() const
Return the list of fields for which the option adds source term.
VoFTurbulenceDamping(const word &sourceName, const word &modelType, const fvMesh &mesh, const dictionary &dict)
Construct from explicit source name and mesh.
virtual void topoChange(const polyTopoChangeMap &)
Update topology using the given map.
virtual void distribute(const polyDistributionMap &)
Redistribute or update using the given distribution map.
virtual void mapMesh(const polyMeshMap &)
Update from another mesh using the given map.
bool foundObject(const word &name) const
Is the named Type in registry.
Class containing mesh-to-mesh mapping information after a mesh distribution where we send parts of me...
Class containing mesh-to-mesh mapping information.
Class containing mesh-to-mesh mapping information after a change in polyMesh topology.
A class for managing temporary objects.
A class for handling words, derived from string.
Foam::fvMesh mesh(Foam::IOobject(regionName, runTime.name(), runTime, Foam::IOobject::MUST_READ), false)
#define FatalIOErrorInFunction(ios)
Report an error message using Foam::FatalIOError.
#define FatalErrorInFunction
Report an error message using Foam::FatalError.
volScalarField alpha(IOobject("alpha", runTime.name(), mesh, IOobject::READ_IF_PRESENT, IOobject::AUTO_WRITE), lambda *max(Ua &U, zeroSensitivity))
defineTypeNameAndDebug(VoFCavitation, 0)
addToRunTimeSelectionTable(fvModel, VoFCavitation, dictionary)
errorManipArg< error, int > exit(error &err, const int errNo=1)
List< word > wordList
A List of words.
Ostream & endl(Ostream &os)
Add newline and flush stream.
const dimensionSet dimless
const dimensionSet dimLength
void pow4(LagrangianPatchField< scalar > &f, const LagrangianPatchField< scalar > &f1)
void sqr(LagrangianPatchField< typename outerProduct< Type, Type >::type > &f, const LagrangianPatchField< Type > &f1)
fileType type(const fileName &, const bool checkVariants=true, const bool followLink=true)
Return the file type: directory or file.