36#ifndef BlendedInterfacialModel_H
37#define BlendedInterfacialModel_H
39#include "blendingMethod.H"
41#include "orderedPhasePair.H"
59 template<
class GeoField>
68template<
class ModelType>
69class BlendedInterfacialModel
94 bool correctFixedFluxBCs_;
100 BlendedInterfacialModel(
const BlendedInterfacialModel<ModelType>&);
103 void operator=(
const BlendedInterfacialModel<ModelType>&);
106 template<
class GeoField>
107 void correctFixedFluxBCs(GeoField&
field)
const;
113 template<
class>
class PatchField,
120 (ModelType::*method)(Args ...)
const,
131 TypeName(
"BlendedInterfacialModel");
137 BlendedInterfacialModel
145 const bool correctFixedFluxBCs =
true
150 BlendedInterfacialModel
157 const bool correctFixedFluxBCs =
true
205#define defineBlendedInterfacialModelTypeNameAndDebug(ModelType, DebugSwitch) \
207 defineTemplateTypeNameAndDebugWithName \
209 BlendedInterfacialModel<ModelType>, \
211 word(BlendedInterfacialModel<ModelType>::typeName_()) + "<" \
212 + ModelType::typeName_() + ">" \
tmp< surfaceScalarField > Kf() const
Return the face blended force coefficient.
tmp< surfaceScalarField > Ff() const
Return the face blended force.
tmp< volScalarField > D() const
Return the blended diffusivity.
bool hasModel(const phaseModel &phase) const
Return true if a model is specified for the supplied phase.
tmp< GeometricField< Type, fvPatchField, volMesh > > F() const
Return the blended force.
bool writeData(Ostream &os) const
Dummy write for regIOobject.
scalar sign(const phaseModel &phase) const
Return the sign of the explicit value for the supplied phase.
tmp< volScalarField > K() const
Return the blended force coefficient.
TypeName("BlendedInterfacialModel")
Runtime type information.
const ModelType & model(const phaseModel &phase) const
Return the model for the supplied phase.
const modelType & phaseModel(const phaseModel &phase) const
Return the model for the supplied phase.
~BlendedInterfacialModel()
Destructor.
tmp< volScalarField > dmdt() const
Return the blended mass transfer rate.
Generic mesh wrapper used by volMesh, surfaceMesh, pointMesh etc.
Generic GeometricField class.
const word & name() const noexcept
Return the object name.
An Ostream is an abstract base class for all output systems (streams, files, token lists,...
Pointer management similar to std::unique_ptr, with some additional methods and type checking.
static tmp< GeoField > interpolate(tmp< volScalarField > f)
Convenience function to interpolate blending values. Needs to be.
Dimension set for the base types, which can be used to implement rigorous dimension checking for alge...
Description for mass transfer between a pair of phases. The direction of the mass transfer is from th...
HashTable< dictionary, phasePairKey, phasePairKey::hash > dictTable
Dictionary hash table.
Single incompressible phase derived from the phase-fraction. Used as part of the multiPhaseMixture fo...
regIOobject(const IOobject &io, const bool isTimeObject=false)
Construct from IOobject. The optional flag adds special handling if the object is the top-level regIO...
A class for managing temporary objects.
A class for handling words, derived from Foam::string.
OBJstream os(runTime.globalPath()/outputName)
void subtract(DimensionedField< scalar, GeoMesh > &result, const dimensioned< scalar > &dt1, const DimensionedField< scalar, GeoMesh > &f2)
Foam::argList args(argc, argv)
#define TypeName(TypeNameString)
Declare a ClassName() with extra virtual type info.