28 #include "surfaceInterpolate.H"
53 void Foam::fv::phaseTurbulenceStabilisation::addAlphaRhoSup
58 fvMatrix<scalar>& eqn,
65 Info<<
type() <<
": applying source to " << eqn.psi().name() <<
endl;
92 forAll(movingPhases, phasei)
94 if (movingPhases[phasei] != phase_)
114 transferRate += phaseTransferRate;
125 eqn += transferCoeff*psiTransferRate;
126 eqn -=
fvm::Sp(transferCoeff*transferRate, eqn.psi());
134 const word& sourceName,
135 const word& modelType,
141 phaseName_(
dict.lookup(
"phase")),
161 fieldNames_.
append(kName);
166 fieldNames_.
append(epsilonName);
171 fieldNames_.
append(omegaName);
228 <<
"Support for field " << field.
name() <<
" is not implemented"
#define forAll(list, i)
Loop across all elements in list.
Macros for easy insertion into run-time selection tables.
static tmp< DimensionedField< Type, GeoMesh > > New(const word &name, const Mesh &mesh, const dimensionSet &, const Field< Type > &)
Return a temporary field constructed from name, mesh,.
Generic GeometricField class.
DimensionedField< Type, GeoMesh > Internal
Type of the internal field from which this GeometricField is derived.
IOobject defines the attributes of an object for which implicit objectRegistry management is supporte...
const Time & time() const
Return time.
const word & name() const
Return name.
static word groupName(Name name, const word &group)
void append(const T &)
Append an element at the end of the list.
dimensionedScalar deltaT() const
Return time step.
A list of keyword definitions, which are a keyword followed by any number of values (e....
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.
Phase turbulence stabilisation.
virtual void addSup(const volScalarField &alpha, const volScalarField &rho, const volScalarField &field, fvMatrix< scalar > &eqn) const
Add contribution to phase k, epsilon or omega equation.
virtual bool movePoints()
Update for mesh motion.
virtual wordList addSupFields() const
Return the list of fields for which the option adds source term.
virtual void topoChange(const polyTopoChangeMap &)
Update topology using the given map.
virtual void distribute(const polyDistributionMap &)
Redistribute or update using the given distribution map.
phaseTurbulenceStabilisation(const word &sourceName, const word &modelType, const fvMesh &mesh, const dictionary &dict)
Construct from explicit source name and mesh.
virtual void mapMesh(const polyMeshMap &)
Update from another mesh using the given map.
Abstract base class for turbulence models (RAS, LES and laminar).
virtual tmp< volScalarField > k() const =0
Return the turbulence kinetic energy.
virtual tmp< volScalarField > omega() const =0
Return the turbulence specific dissipation rate.
virtual tmp< volScalarField > epsilon() const =0
Return the turbulence kinetic energy dissipation rate.
const Type & lookupType(const word &group=word::null) const
Lookup and return the object of the given Type.
bool foundObject(const word &name) const
Is the named Type in registry.
const phaseSystem & fluid() const
Return the system to which this phase belongs.
const phaseModelPartialList & movingPhases() const
Return the models for phases that are moving.
UPtrList< phaseModel > phaseModelPartialList
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 handling words, derived from string.
#define FatalErrorInFunction
Report an error message using Foam::FatalError.
Calculate the gradient of the given field.
Calculate the matrix for implicit and explicit sources.
const volScalarField & psi
volScalarField alpha(IOobject("alpha", runTime.name(), mesh, IOobject::READ_IF_PRESENT, IOobject::AUTO_WRITE), lambda *max(Ua &U, zeroSensitivity))
compressibleMomentumTransportModel momentumTransportModel
addToRunTimeSelectionTable(fvConstraint, bound, dictionary)
defineTypeNameAndDebug(bound, 0)
tmp< fvMatrix< Type > > Sp(const volScalarField::Internal &, const VolField< Type > &)
phaseCompressibleMomentumTransportModel momentumTransportModel
errorManipArg< error, int > exit(error &err, const int errNo=1)
Ostream & endl(Ostream &os)
Add newline and flush stream.
const dimensionSet dimless
layerAndWeight min(const layerAndWeight &a, const layerAndWeight &b)
const dimensionSet dimTime
bool notNull(const T &t)
Return true if t is not a reference to the nullObject of type T.
VolField< scalar > volScalarField
layerAndWeight max(const layerAndWeight &a, const layerAndWeight &b)
dimensioned< scalar > dimensionedScalar
Dimensioned scalar obtained from generic dimensioned type.
fileType type(const fileName &, const bool checkVariants=true, const bool followLink=true)
Return the file type: directory or file.
autoPtr< incompressible::momentumTransportModel > turbulence(incompressible::momentumTransportModel::New(U, phi, viscosity))