39 namespace functionObjects
72 if (&otherPhase == &
phase_)
continue;
99 virtualMassModel::typeName,
145 wallLubricationModel::typeName,
152 "wallLubricationForce",
172 turbulentDispersionModel::typeName,
179 "turbulentDispersionForce",
220 *forceFieldIter() =
Zero;
224 forAll(fluid_.phases(), phasei)
226 const phaseModel& otherPhase = fluid_.phases()[phasei];
228 if (&otherPhase == &phase_)
continue;
234 *forceFields_[dragModel::typeName] +=
236 *(otherPhase.
U() - phase_.U());
241 *forceFields_[virtualMassModel::typeName] +=
242 fluid_.lookupInterfacialModel
245 (otherPhase.
DUDt() & otherPhase.
U())
246 - (phase_.DUDt() & phase_.U())
252 *forceFields_[liftModel::typeName] +=
253 (&interface.
phase1() == &phase_ ? -1 : +1)
259 fluid_.foundInterfacialModel
263 *forceFields_[wallLubricationModel::typeName] +=
264 (&interface.
phase1() == &phase_ ? -1 : +1)
265 *fluid_.lookupInterfacialModel
271 fluid_.foundInterfacialModel
275 *forceFields_[turbulentDispersionModel::typeName] +=
276 fluid_.lookupInterfacialModel
299 writeObject(forceFieldIter()->
name());
static const Foam::dimensionedScalar D("D", Foam::dimTemperature, 257.14)
#define forAll(list, i)
Loop across all elements in list.
#define forAllConstIter(Container, container, iter)
Iterate across all elements in the container object of type.
Macros for easy insertion into run-time selection tables.
Generic GeometricField class.
A HashTable specialisation for hashing pointers.
IOobject defines the attributes of an object for which implicit objectRegistry management is supporte...
static word groupName(Name name, const word &group)
Class to control time during OpenFOAM simulations that is also the top-level objectRegistry.
tmp< volVectorField > F() const
Return lift force.
tmp< volVectorField > F() const
Return wall lubrication force.
A list of keyword definitions, which are a keyword followed by any number of values (e....
const word & name() const
Return const reference to name.
Abstract base-class for Time/database functionObjects.
Specialisation of Foam::functionObject for an Foam::fvMesh, providing a reference to the Foam::fvMesh...
const fvMesh & mesh_
Reference to the fvMesh.
This functionObject calculates and outputs the blended interfacial forces acting on a given phase,...
const phaseSystem & fluid_
Constant access to phaseSystem.
virtual bool read(const dictionary &dict)
Read the input data.
phaseForces(const word &name, const Time &runTime, const dictionary &)
Construct from Time and dictionary.
const phaseModel & phase_
Phase for which forces are evaluated.
virtual ~phaseForces()
Destructor.
HashPtrTable< volVectorField > forceFields_
Force fields.
virtual bool execute()
Calculate the force fields.
virtual bool write()
Write the force fields.
virtual bool read(const dictionary &)
Read optional controls.
const Time & time() const
Return the top-level database.
Class to represent an interface between phases. Derivations can further specify the configuration of ...
const phaseModel & phase1() const
Return phase 1.
const dimensionedScalar & residualAlpha() const
Return the residual phase-fraction for given phase.
virtual tmp< fvVectorMatrix > DUDt() const =0
Return the substantive acceleration matrix.
virtual tmp< volVectorField > U() const =0
Return the velocity.
const word & name() const
Return the name of this phase.
Class to represent a system of phases and model interfacial transfers between them.
bool foundInterfacialModel(const phaseInterface &interface) const
Check availability of a sub model for a given interface.
const phaseModelList & phases() const
Return the phase models.
A class for handling words, derived from string.
Calculate the gradient of the given field.
defineTypeNameAndDebug(adjustTimeStepToCombustion, 0)
addToRunTimeSelectionTable(functionObject, adjustTimeStepToCombustion, dictionary)
tmp< VolField< typename outerProduct< vector, Type >::type > > grad(const SurfaceField< Type > &ssf)
word name(const bool)
Return a word representation of a bool.
const dimensionSet dimForce
const dimensionSet dimVolume
layerAndWeight max(const layerAndWeight &a, const layerAndWeight &b)