30#include "BlendedInterfacialModel.H"
32#include "virtualMassModel.H"
34#include "wallLubricationModel.H"
35#include "turbulentDispersionModel.H"
41namespace functionObjects
51template<
class modelType>
60 return model.template F<vector>();
64 return -model.template F<vector>();
86 fluid_(mesh_.lookupObject<
phaseSystem>(
"phaseProperties"))
173 "wallLubricationForce",
196 "turbulentDispersionForce",
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());
CGAL::Exact_predicates_exact_constructions_kernel K
Macros for easy insertion into run-time selection tables.
#define addToRunTimeSelectionTable(baseType, thisType, argNames)
Add to construction table with typeName as the key.
A HashTable of pointers to objects of type <T>, with deallocation management of the pointers.
Defines the attributes of an object for which implicit objectRegistry management is supported,...
static word groupName(StringType base, const word &group)
Create dot-delimited name.group string.
virtual bool read()
Re-read model coefficients if they have changed.
Class to control time during OpenFOAM simulations that is also the top-level objectRegistry.
static word timeName(const scalar t, const int precision=precision_)
A list of keyword definitions, which are a keyword followed by a number of values (eg,...
Abstract base-class for Time/database function objects.
Specialization of Foam::functionObject for an Foam::fvMesh, providing a reference to the Foam::fvMesh...
const fvMesh & mesh_
Reference to the fvMesh.
This function object calculates and outputs the blended interfacial forces acting on a given phase,...
const phaseSystem & fluid_
Constant access to phaseSystem.
tmp< volVectorField > nonDragForce(const phasePair &key) const
Evaluate and return non-drag force.
virtual bool read(const dictionary &dict)
Read the input data.
const phaseModel & phase_
Phase for which forces are evaluated.
virtual ~phaseForces()
Destructor.
HashPtrTable< volVectorField > forceFields_
virtual bool execute()
Calculate the force fields.
virtual bool write()
Write the force fields.
const Time & time() const
Return the top-level database.
Single incompressible phase derived from the phase-fraction. Used as part of the multiPhaseMixture fo...
const volVectorField & U() const
virtual tmp< volVectorField > DUDt() const =0
Return the substantive acceleration.
const word & name() const
bool ordered() const noexcept
Return the ordered flag.
Description for mass transfer between a pair of phases. The direction of the mass transfer is from th...
const phaseModel & otherPhase(const phaseModel &phase) const
Return the other phase relative to the given phase.
bool contains(const phaseModel &phase) const
Return true if this phasePair contains the given phase.
const multiphaseInter::phaseModel & phase1() const
Class to represent a system of phases and model interfacial transfers between them.
const phasePairTable & phasePairs() const
Return the phase pairs.
const BlendedInterfacialModel< modelType > & lookupBlendedSubModel(const phasePair &key) const
Return a blended sub model between a phase pair.
bool foundBlendedSubModel(const phasePair &key) const
Check availability of a blended sub model for a given phase pair.
A class for managing temporary objects.
A class for handling words, derived from Foam::string.
#define defineTypeNameAndDebug(Type, DebugSwitch)
Define the typeName and debug information.
fileName::Type type(const fileName &name, const bool followLink=true)
Return the file type: DIRECTORY or FILE, normally following symbolic links.
const dimensionSet dimForce
const dimensionSet dimVolume(pow3(dimLength))
word name(const expressions::valueTypeCode typeCode)
A word representation of a valueTypeCode. Empty for INVALID.
#define forAllIter(Container, container, iter)
Iterate across all elements in the container object.
#define forAllConstIter(Container, container, iter)
Iterate across all elements in the container object.
static const char *const typeName
The type name used in ensight case files.