Go to the documentation of this file.
45 #ifndef multiphaseSystem_H
46 #define multiphaseSystem_H
50 #include "phaseModel.H"
54 #include "dragModel.H"
66 class multiphaseSystem
82 public Hash<interfacePair>
97 public Hash<interfacePair>
129 friend bool operator==
137 ((a.first() ==
b.first()) && (a.
second() ==
b.second()))
138 || ((a.first() ==
b.second()) && (a.
second() ==
b.first()))
142 friend bool operator!=
194 static const scalar convertToRad;
215 void correctContactAngle
219 surfaceVectorField::Boundary& nHatb
const T & second() const noexcept
Return second element, which is also the last element.
Single incompressible phase derived from the phase-fraction. Used as part of the multiPhaseMixture fo...
tmp< volScalarField > rho() const
Return the mixture density.
tmp< volScalarField > nearInterface() const
Indicator of the proximity of the interface.
virtual ~multiphaseSystem()
Destructor.
A class for handling words, derived from Foam::string.
virtual void solve()
Solve for the phase fractions.
Single incompressible phase derived from the phase-fraction. Used as part of the multiPhaseMixture fo...
A class for managing temporary objects.
UPtrList< phaseModel > phases_
Unallocated phase list.
const volScalarField & alpha2
Template dictionary class which manages the storage associated with it.
autoPtr< dragCoeffFields > dragCoeffs() const
Return the drag coefficients for all of the interfaces.
multiphaseSystem(const fvMesh &mesh)
Construct from fvMesh.
interfacePair(const word &alpha1Name, const word &alpha2Name)
HashPtrTable< dragModel, interfacePair, interfacePair::symmHash > dragModelTable
const surfaceScalarField & phi() const
Return the mixture flux.
tmp< volVectorField > U() const
Return the mixture velocity.
const volScalarField & alpha1
Dimension set for the base types.
void correct()
Dummy correct.
tmp< surfaceScalarField > surfaceTension(const phaseModel &phase) const
Return the surface tension force.
const word & name() const
Name function is needed to disambiguate those inherited.
interfacePair(const phaseModel &alpha1, const phaseModel &alpha2)
HashPtrTable< volScalarField, interfacePair, interfacePair::symmHash > dragCoeffFields
CGAL::Exact_predicates_exact_constructions_kernel K
Hash function class. The default definition is for primitives, non-primitives used to hash entries on...
intWM_LABEL_SIZE_t label
A label is an int32_t or int64_t as specified by the pre-processor macro WM_LABEL_SIZE.
const dimensionedScalar b
Wien displacement law constant: default SI units: [m.K].
label operator()(const interfacePair &key) const
Hashing function for string and derived string classes.
Generic dimensioned Type class.
Mesh data needed to do the Finite Volume discretisation.
PtrDictionary< phaseModel > & phases()
Return the phases.
Pointer management similar to std::unique_ptr, with some additional methods and type checking.
An ordered pair of two objects of type <T> with first() and second() elements.
virtual bool read()
Read thermophysical properties dictionary.
const PtrDictionary< phaseModel > & phases() const
Return the phases.
label operator()(const interfacePair &key) const
const dragModelTable & dragModels() const
Return the table of drag models.
tmp< volScalarField > Cvm(const phaseModel &phase) const
Return the virtual-mass coefficient for the given phase.
tmp< volScalarField > dragCoeff(const phaseModel &phase, const dragCoeffFields &dragCoeffs) const
Return the sum of the drag coefficients for the given phase.
tmp< volScalarField > nu() const
Return the mixture laminar viscosity.
const UPtrList< phaseModel > & phases() const
Return phases.
tmp< volVectorField > Svm(const phaseModel &phase) const
Return the virtual-mass source for the given phase.