28 #include "surfaceInterpolate.H"
70 mesh.time().constant(),
77 phases_(lookup(
"phases"), inew),
95 sigmas_(lookup(
"sigmas")),
96 dimSigma_(1, 0, -2, 0, 0),
118 "surfaceTensionForce",
128 const VoFphase& alpha1 = phases_[phasei];
130 for (
label phasej = phasei+1; phasej<phases_.size(); phasej++)
132 const VoFphase& alpha2 = phases_[phasej];
134 sigmaTable::const_iterator
sigma =
137 if (
sigma == sigmas_.end())
141 <<
" in list of sigma values"
180 return gradAlphaf/(
mag(gradAlphaf) + deltaN_);
191 return nHatfv(alpha1, alpha2) & mesh_.Sf();
210 tnHatfv.
ref().boundaryFieldRef()
214 return -
fvc::div(tnHatfv & mesh_.Sf());
236 pos0(phases_[phasei] - 0.01)*
pos0(0.99 - phases_[phasei])
248 lookup(
"sigmas") >> sigmas_;
#define forAll(list, i)
Loop across all elements in list.
Generic GeometricField class.
static tmp< GeometricField< Type, PatchField, GeoMesh > > New(const word &name, const Internal &, const PtrList< PatchField< Type >> &, const HashPtrTable< Source > &=HashPtrTable< Source >())
Return a temporary field constructed from name,.
IOdictionary is derived from dictionary and IOobject to give the dictionary automatic IO functionalit...
IOobject defines the attributes of an object for which implicit objectRegistry management is supporte...
Return a pointer to a new VoFphase.
Single incompressible VoFphase derived from the phase-fraction. Used as part of the multiPhaseMixture...
Dimension set for the base types.
Mesh data needed to do the Finite Volume discretisation.
Multiphase VoF mixture with support for interface properties.
tmp< volScalarField > nearInterface() const
Indicator of the proximity of the interface.
tmp< volScalarField > K(const VoFphase &alpha1, const VoFphase &alpha2, const volVectorField &U) const
tmp< surfaceScalarField > surfaceTensionForce(const volVectorField &U) const
PtrListDictionary< VoFphase > phases_
Dictionary of phases.
tmp< surfaceScalarField > nHatf(const volScalarField &alpha1, const volScalarField &alpha2) const
tmp< surfaceVectorField > nHatfv(const volScalarField &alpha1, const volScalarField &alpha2) const
multiphaseVoFMixture(const fvMesh &mesh, const VoFphase::iNew &)
Construct from fvMesh.
bool read()
Read base phaseProperties dictionary.
virtual bool write(const bool write=true) const
Write using setting from DB.
virtual bool read()
Read object.
A class for managing temporary objects.
T & ref() const
Return non-const reference or generate a fatal error.
#define FatalErrorInFunction
Report an error message using Foam::FatalError.
Calculate the divergence of the given field.
Calculate the gradient of the given field.
Calculate the snGrad of the given volField.
const dimensionedScalar sigma
Stefan-Boltzmann constant: default SI units: [W/m^2/K^4].
static tmp< SurfaceField< Type > > interpolate(const VolField< Type > &tvf, const surfaceScalarField &faceFlux, Istream &schemeData)
Interpolate field onto faces using scheme given by Istream.
tmp< VolField< typename outerProduct< vector, Type >::type > > grad(const SurfaceField< Type > &ssf)
tmp< VolField< Type > > div(const SurfaceField< Type > &ssf)
tmp< SurfaceField< Type > > snGrad(const VolField< Type > &vf, const word &name)
errorManipArg< error, int > exit(error &err, const int errNo=1)
dimensionedScalar pos0(const dimensionedScalar &ds)
intWM_LABEL_SIZE_t label
A label is an int32_t or int64_t as specified by the pre-processor macro WM_LABEL_SIZE.
word name(const bool)
Return a word representation of a bool.
const dimensionSet dimless
dimensioned< Type > average(const DimensionedField< Type, GeoMesh > &df)
dimensionedScalar pow(const dimensionedScalar &ds, const dimensionedScalar &expt)
void correctContactAngle(const volScalarField &alpha1, const volScalarField &alpha2, const volVectorField::Boundary &Ubf, const dimensionedScalar &deltaN, surfaceVectorField::Boundary &nHatbf)
Correct the contact angle for the two volume fraction fields.
dimensioned< scalar > mag(const dimensioned< Type > &)
defineTypeNameAndDebug(combustionModel, 0)
layerAndWeight max(const layerAndWeight &a, const layerAndWeight &b)
dimensioned< scalar > dimensionedScalar
Dimensioned scalar obtained from generic dimensioned type.