Go to the documentation of this file.
30 #include "BlendedInterfacialModel.H"
31 #include "dragModel.H"
32 #include "virtualMassModel.H"
33 #include "liftModel.H"
34 #include "wallLubricationModel.H"
35 #include "turbulentDispersionModel.H"
41 namespace functionObjects
51 template<
class modelType>
60 return model.template F<vector>();
64 return -model.template F<vector>();
71 Foam::functionObjects::phaseForces::phaseForces
86 fluid_(mesh_.lookupObject<
phaseSystem>(
"phaseProperties"))
101 if (fluid_.foundBlendedSubModel<
dragModel>(pair))
111 mesh_.time().timeName(),
124 virtualMassModel::typeName,
134 mesh_.time().timeName(),
143 if (fluid_.foundBlendedSubModel<
liftModel>(pair))
153 mesh_.time().timeName(),
166 wallLubricationModel::typeName,
173 "wallLubricationForce",
176 mesh_.time().timeName(),
189 turbulentDispersionModel::typeName,
196 "turbulentDispersionForce",
199 mesh_.time().timeName(),
253 if (
type ==
"dragModel")
256 fluid_.lookupBlendedSubModel<
dragModel>(pair).
K()
260 if (
type ==
"virtualMassModel")
270 if (
type ==
"liftModel")
272 force = nonDragForce<liftModel>(pair);
275 if (
type ==
"wallLubricationModel")
277 force = nonDragForce<wallLubricationModel>(pair);
280 if (
type ==
"turbulentDispersionModel")
282 force = nonDragForce<turbulentDispersionModel>(pair);
301 writeObject(iter()->
name());
Single incompressible phase derived from the phase-fraction. Used as part of the multiPhaseMixture fo...
virtual ~phaseForces()
Destructor.
Defines the attributes of an object for which implicit objectRegistry management is supported,...
Description for mass transfer between a pair of phases. The direction of the mass transfer is from th...
#define forAllIter(Container, container, iter)
Iterate across all elements in the container object.
Class to control time during OpenFOAM simulations that is also the top-level objectRegistry.
A class for handling words, derived from Foam::string.
A class for managing temporary objects.
virtual bool read(const dictionary &dict)
Read the input data.
bool read(const char *buf, int32_t &val)
Same as readInt32.
const dimensionSet dimForce
Specialization of Foam::functionObject for an Foam::fvMesh, providing a reference to the Foam::fvMesh...
#define forAllConstIter(Container, container, iter)
Iterate across all elements in the container object.
dimensioned< vector > dimensionedVector
Dimensioned vector obtained from generic dimensioned type.
CGAL::Exact_predicates_exact_constructions_kernel K
word name(const complex &c)
Return string representation of complex.
tmp< volVectorField > nonDragForce(const phasePair &key) const
Evaluate and return non-drag force.
const BlendedInterfacialModel< modelType > & lookupBlendedSubModel(const phasePair &key) const
Return a blended sub model between a phase pair.
A list of keyword definitions, which are a keyword followed by a number of values (eg,...
const phaseModel & phase_
Phase for which forces are evaluated.
bool contains(const phaseModel &phase) const
Return true if this phasePair contains the given phase.
virtual bool read(const dictionary &dict)
Read optional controls.
Macros for easy insertion into run-time selection tables.
bool ordered() const
Return the ordered flag.
A HashTable of pointers to objects of type <T>.
addToRunTimeSelectionTable(functionObject, ObukhovLength, dictionary)
const phaseSystem & fluid_
Constant access to phaseSystem.
fileName::Type type(const fileName &name, const bool followLink=true)
Return the file type: DIRECTORY or FILE, normally following symbolic links.
defineTypeNameAndDebug(ObukhovLength, 0)
virtual bool write()
Write the force fields.
virtual tmp< volVectorField > U() const =0
Return the velocity.
Class to represent a system of phases and model interfacial transfers between them.
static word groupName(StringType base, const word &group)
Create dot-delimited name.group string.
const dimensionSet dimVolume(pow3(dimLength))
const phaseModel & phase1() const
Return phase 1.
const phaseModel & otherPhase(const phaseModel &phase) const
Return the other phase relative to the given phase.
virtual bool execute()
Calculate the force fields.
virtual tmp< volVectorField > DUDt() const =0
Return the substantive acceleration.