45#ifndef multiphaseMixture_H
46#define multiphaseMixture_H
105 friend bool operator==
114 friend bool operator!=
130 PtrDictionary<phase> phases_;
141 typedef HashTable<scalar, interfacePair, interfacePair::hash>
145 dimensionSet dimSigma_;
155 void solveAlphas(
const scalar cAlpha);
157 tmp<surfaceVectorField> nHatfv
163 tmp<surfaceScalarField> nHatf
169 void correctContactAngle
176 void correctBoundaryContactAngle
178 const alphaContactAngleFvPatchScalarField& acap,
185 tmp<volScalarField>
K(
const phase&
alpha1,
const phase&
alpha2)
const;
CGAL::Exact_predicates_exact_constructions_kernel K
const volScalarField & alpha1
const volScalarField & alpha2
GeometricBoundaryField< vector, fvsPatchField, surfaceMesh > Boundary
A HashTable similar to std::unordered_map.
IOdictionary(const IOobject &io, const dictionary *fallback=nullptr)
Construct given an IOobject and optional fallback dictionary content.
An ordered pair of two objects of type <T> with first() and second() elements.
static int compare(const Pair< T > &a, const Pair< T > &b)
Compare Pairs.
Template dictionary class which manages the storage associated with it.
const word & name() const
Name function is needed to disambiguate those inherited from regIOobject and dictionary.
Dimension set for the base types, which can be used to implement rigorous dimension checking for alge...
Mesh data needed to do the Finite Volume discretisation.
Symmetric pair of interface names.
Pair< word >::symmHasher hash
interfacePair(const word &alpha1Name, const word &alpha2Name)
interfacePair(const phase &alpha1, const phase &alpha2)
Pair< word >::symmHasher hasher
const volVectorField & U() const
Return the velocity.
tmp< volScalarField > nearInterface() const
Indicator of the proximity of the interface.
tmp< surfaceScalarField > surfaceTensionForce() const
tmp< scalarField > mu(const label patchi) const
Return the dynamic laminar viscosity for patch.
void correct()
Correct the mixture properties.
const surfaceScalarField & phi() const
Return the volumetric flux.
tmp< surfaceScalarField > muf() const
Return the face-interpolated dynamic laminar viscosity.
tmp< scalarField > nu(const label patchi) const
Return the laminar viscosity for patch.
virtual ~multiphaseMixture()=default
Destructor.
const surfaceScalarField & rhoPhi() const
tmp< volScalarField > nu() const
Return the kinematic laminar viscosity.
tmp< scalarField > rho(const label patchi) const
Return the mixture density for patch.
tmp< volScalarField > mu() const
Return the dynamic laminar viscosity.
tmp< volScalarField > rho() const
Return the mixture density.
const PtrDictionary< phase > & phases() const
Return the phases.
multiphaseMixture(const volVectorField &U, const surfaceScalarField &phi)
Construct from components.
void solve()
Solve for the mixture phase-fractions.
bool read()
Read base transportProperties dictionary.
tmp< surfaceScalarField > nuf() const
Return the face-interpolated dynamic laminar viscosity.
Single incompressible phase derived from the phase-fraction. Used as part of the multiPhaseMixture fo...
A class for managing temporary objects.
A class for handling words, derived from Foam::string.
GeometricField< vector, fvPatchField, volMesh > volVectorField
GeometricField< scalar, fvPatchField, volMesh > volScalarField
GeometricField< scalar, fvsPatchField, surfaceMesh > surfaceScalarField
dimensioned< scalar > dimensionedScalar
Dimensioned scalar obtained from generic dimensioned type.
Symmetric hashing functor for Pair, hashes lower value first.