39 #ifndef BlendedInterfacialModel_H
40 #define BlendedInterfacialModel_H
58 template<
class ModelType>
97 mutable label checkTimeIndex_;
106 template<
class GeoMesh>
107 void calculateBlendingCoeffs
122 void postProcessBlendingCoefficients(
const word&
format)
const;
130 template<
class Type,
class GeoMesh,
class ... Args>
134 (ModelType::*method)(Args ...)
const,
141 template<
class Type,
class GeoMesh,
class ... Args>
145 (ModelType::*method)(Args ...)
const,
152 template<
class ... Args>
155 bool (ModelType::*method)(Args ...)
const,
160 template<
class ... Args>
188 TypeName(
"BlendedInterfacialModel");
194 template<
class ... Args>
232 #define defineBlendedInterfacialModelTypeNameAndDebug(ModelType, DebugSwitch) \
234 defineTemplateTypeNameAndDebugWithName \
236 BlendedInterfacialModel<ModelType>, \
238 word(BlendedInterfacialModel<ModelType>::typeName_()) + "<" \
239 + ModelType::typeName + ">" \
Wrapper class for interfacial models for which multiple instances of the model are used for different...
BlendedInterfacialModel(const dictionary &dict, const phaseInterface &interface, const dictionary &blendingDict, const Args &... args)
Construct from a dictionary, an interface and a blending dictionary.
TypeSet requiredPhaseInterfaces
Required phase interface types.
void operator=(const BlendedInterfacialModel< ModelType > &)=delete
Disallow default bitwise assignment.
const phaseInterface & interface() const
Access the interface.
bool writeData(Ostream &os) const
Dummy write for regIOobject.
TypeSet< dispersedPhaseInterface, segregatedPhaseInterface, displacedPhaseInterface > allowedPhaseInterfaces
Allowed phase interface types.
TypeName("BlendedInterfacialModel")
Runtime type information.
ModelType modelType
Public Type Definitions.
tmp< GeometricField< Type, GeoMesh > > evaluate(tmp< GeometricField< Type, GeoMesh >>(ModelType::*method)(Args ...) const, const word &name, const dimensionSet &dims, Args ... args) const
Return a blended field.
~BlendedInterfacialModel()
Destructor.
Generic mesh wrapper used by volMesh, surfaceMesh, pointMesh etc.
Generic GeometricField class.
A HashTable specialisation for hashing pointers.
const word & name() const
Return name.
An Ostream is an abstract base class for all output systems (streams, files, token lists,...
A templated 1D list of pointers to objects of type <T>, where the size of the array is known and used...
An auto-pointer similar to the STL auto_ptr but with automatic casting to a reference to the type and...
A list of keywords followed by any number of values (e.g. words and numbers) or sub-dictionaries.
Dimension set for the base types.
Class to represent a interface between phases where one phase is considered dispersed within the othe...
Class to represent an interface between phases which has been displaced to some extent by a third pha...
A wordList with hashed indices for faster lookup by name.
Class to represent an interface between phases. Derivations can further specify the configuration of ...
regIOobject is an abstract class derived from IOobject to handle automatic object registration with t...
Class to represent a interface between phases where the two phases are considered to be segregated; t...
A class for managing temporary objects.
A class for handling words, derived from string.
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 dictionary & blendingDict(const phaseSystem &fluid, const dictionary &dict)
word format(conversionProperties.lookup("format"))
Foam::argList args(argc, argv)
Template meta-programming for operations involving sets of types.