39 #ifndef LagrangianModels_H
40 #define LagrangianModels_H
60 TopoChangeableMeshObject,
69 mutable label checkTimeIndex_;
83 template<
class ... ModelAndFieldSourceTypes>
84 struct modelTypeFieldSourceType;
87 void checkApplied()
const;
93 template<
class>
class PrimitiveField,
94 class ... AlphaRhoFieldTypes
100 const AlphaRhoFieldTypes& ... alphaRhoFields
152 const word& fieldName,
153 const word& eqnFieldName
158 template<
class Type,
template<
class>
class PrimitiveField>
169 template<
class>
class PrimitiveField,
170 template<
class>
class PrimitiveEqnField
207 template<
class ... ModelAndFieldSourceTypes>
227 template<
class Type,
template<
class>
class PrimitiveField>
238 template<
class>
class PrimitiveField,
239 template<
class>
class PrimitiveEqnField
249 template<
class Type,
template<
class>
class PrimitiveField>
261 template<
class>
class PrimitiveField,
262 template<
class>
class PrimitiveEqnField
332 static const bool global =
true;
Templated abstract base-class for demand-driven mesh objects used to automate their allocation to the...
const LagrangianMesh & mesh() const
static LagrangianModels & New(const word &name, const LagrangianMesh &mesh)
Construct and return the named DemandDrivenMeshObject.
Field with dimensions and associated with geometry type GeoMesh which is used to size the field and a...
An STL-conforming hash table.
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...
streamFormat
Enumeration for the format of data in the stream.
compressionType
Enumeration for the format of data in the stream.
Class containing Lagrangian geometry and topology.
List of Lagrangian models, constructed as a (Lagrangian) mesh object. Provides similar functions to t...
virtual bool movePoints()
Update for mesh motion. Only for mesh object. Does nothing.
virtual bool writeObject(IOstream::streamFormat fmt, IOstream::versionNumber ver, IOstream::compressionType cmp, const bool write) const
Write the LagrangianModels.
void operator=(const LagrangianModels &)=delete
Disallow default bitwise assignment.
void correct()
Correct the LagrangianModels.
tmp< LagrangianEqn< scalar > > source(const LagrangianSubScalarField &deltaT) const
Return the fractional source.
HashTable< word > modelTypeFieldSourceTypes() const
Return a table of field source types that are chosen to match given.
virtual void postSource(const LagrangianSubScalarField &deltaT, const bool final)
Hook after source evaluation.
virtual ~LagrangianModels()
Destructor.
virtual void topoChange(const polyTopoChangeMap &)
Update topology using the given map.
TypeName("LagrangianModels")
Runtime type information.
virtual void distribute(const polyDistributionMap &)
Redistribute or update using the given distribution map.
virtual void preSource(const LagrangianSubScalarField &deltaT, const bool final)
Hook before source evaluation.
virtual void mapMesh(const polyMeshMap &)
Update from another mesh using the given map.
LagrangianSubMesh preModify(LagrangianMesh &mesh) const
Identify elements in the Lagrangian mesh which are to be.
tmp< LagrangianEqn< Type > > sourceProxy(const LagrangianSubScalarField &deltaT, const LagrangianSubField< Type, PrimitiveField > &field, const LagrangianSubField< Type, PrimitiveEqnField > &eqnField) const
Return source for an equation.
LagrangianSubMesh modify(LagrangianMesh &mesh, const LagrangianSubMesh &modifiedMesh) const
Instantaneously modify and/or create and remove elements in the.
bool addsSupToField(const word &fieldName) const
Return true if the LagrangianModels adds a source term to the.
void calculate(const LagrangianSubScalarField &deltaT, const bool final)
Solve equations and/or update continually changing properties.
LagrangianModels(const LagrangianMesh &mesh)
Construct for a mesh.
virtual bool read()
Read the LagrangianModels dictionary if it has changed.
Mesh that relates to a sub-section of a Lagrangian mesh. This is used to construct fields that relate...
Template dictionary class which manages the storage associated with it.
A templated 1D list of pointers to objects of type <T>, where the size of the array is known and used...
TopoChangeableMeshObject(Type &mo)
void write(Ostream &, const bool subDict=true) const
Write dictionary, normally with sub-dictionary formatting.
Class containing mesh-to-mesh mapping information after a mesh distribution where we send parts of me...
Class containing mesh-to-mesh mapping information.
Class containing mesh-to-mesh mapping information after a change in polyMesh topology.
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.
Trait for obtaining global status.