32 template<
class ModelType>
33 template<
class ... Args>
79 modelInPhase1_.
set(models.
set(i,
nullptr).ptr());
83 modelInPhase2_.
set(models.
set(i,
nullptr).ptr());
91 template<
class ModelType>
98 template<
class ModelType>
106 template<
class ModelType>
113 interface_.index(phase) == 0
114 ? modelInPhase1_.valid()
115 : modelInPhase2_.valid();
119 template<
class ModelType>
125 if (!haveModelInThe(phase))
128 <<
"There is no " <<
type() <<
" active for the "
129 << phase.
name() <<
" side of the "
130 << interface_.name() <<
" interface"
135 interface_.index(phase) == 0
141 template<
class ModelType>
147 if (!haveModelInThe(phase))
150 <<
"There is no " <<
type() <<
" active for the "
151 << phase.
name() <<
" side of the "
152 << interface_.name() <<
" interface"
157 interface_.index(phase) == 0
163 template<
class ModelType>
#define forAll(list, i)
Loop across all elements in list.
IOobject defines the attributes of an object for which implicit objectRegistry management is supporte...
bool good() const
Return true if next operation might succeed.
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...
bool set(const label) const
Is element set.
const phaseInterface & interface() const
Access the interface.
~SidedInterfacialModel()
Destructor.
bool writeData(Ostream &os) const
Dummy write for regIOobject.
bool haveModelInThe(const phaseModel &phase) const
Does a model exist in the given phase?
SidedInterfacialModel(const dictionary &dict, const phaseInterface &interface, const Args &... args)
Construct from a dictionary and an interface.
const ModelType & modelInThe(const phaseModel &phase) const
Access the model within the given phase.
void set(T *)
Set pointer to that given.
A list of keywords followed by any number of values (e.g. words and numbers) or sub-dictionaries.
Class to represent an interface between phases. Derivations can further specify the configuration of ...
const phaseSystem & fluid() const
Return the phase system.
label index(const phaseModel &phase) const
Return the index of the given phase. Generates a FatalError if.
const word & name() const
Return the name of this phase.
regIOobject is an abstract class derived from IOobject to handle automatic object registration with t...
Class to represent a certain side of an interface between phases.
Foam::fvMesh mesh(Foam::IOobject(regionName, runTime.name(), runTime, Foam::IOobject::MUST_READ), false)
#define FatalErrorInFunction
Report an error message using Foam::FatalError.
void generateInterfacialModels(PtrList< phaseInterface > &interfaces, PtrList< ModelType > &models, const phaseSystem &fluid, const dictionary &dict, const wordHashSet &ignoreKeys, const phaseInterface &interface, const Args &... args)
errorManipArg< error, int > exit(error &err, const int errNo=1)
To & refCast(From &r)
Reference type cast template function.
word name(const LagrangianState state)
Return a string representation of a Lagrangian state enumeration.
HashSet wordHashSet
A HashSet with word keys.
fileType type(const fileName &, const bool checkVariants=true, const bool followLink=true)
Return the file type: directory or file.
Foam::argList args(argc, argv)