meshObjects Class Reference

Templated abstract base-class for optional mesh objects used to automate their allocation to the mesh database and the mesh-modifier event-loop. More...

Public Member Functions

 ClassName ("meshObjects")
 

Static Public Member Functions

template<class Mesh >
static void movePoints (objectRegistry &)
 
template<class Mesh >
static void topoChange (objectRegistry &, const polyTopoChangeMap &)
 
template<class Mesh >
static void mapMesh (objectRegistry &, const polyMeshMap &)
 
template<class Mesh >
static void distribute (objectRegistry &, const polyDistributionMap &)
 
template<class Mesh >
static void addPatch (objectRegistry &, const label patchi)
 
template<class Mesh >
static void reorderPatches (objectRegistry &, const labelUList &newToOld, const bool validBoundary)
 
template<class Mesh , template< class > class MeshObjectType>
static void clear (objectRegistry &)
 
template<class Mesh , template< class > class FromType, template< class > class ToType>
static void clearUpto (objectRegistry &)
 Clear all meshObjects derived from FromType up to (but not including) More...
 

Detailed Description

Templated abstract base-class for optional mesh objects used to automate their allocation to the mesh database and the mesh-modifier event-loop.

MeshObject is templated on the type of mesh it is allocated to, the type of the mesh object (DeletableMeshObject, MoveableMeshObject, DistributeableMeshObject, TopoChangeableMeshObject) and the type of the actual object it is created for example:

class leastSquaresVectors
:
    public MeshObject<fvMesh, MoveableMeshObject, leastSquaresVectors>
{
.
.
.
    //! Delete the least square vectors when the mesh moves
    virtual bool movePoints();
};

MeshObject types:

  • DeletableMeshObject: mesh object to be deleted after any mesh change
  • MoveableMeshObject: mesh object to be updated after mesh motion otherwise deleted
  • DistributeableMeshObject mesh object to be updated after mesh redistribution or motion otherwise deleted
  • TopoChangeableMeshObject: mesh object to be updated after mesh topology change, mesh-to-mesh mapping, redistribution or motion otherwise deleted
  • RepatchableMeshObject: mesh object to be updated on patch or topology change, mesh-to-mesh mapping, redistribution or motion otherwise deleted

Note: movePoints must be provided for MeshObjects of type MoveableMeshObject and both movePoints and topoChange functions must exist, provided for MeshObjects of type TopoChangeableMeshObject.

Source files

Definition at line 94 of file meshObjects.H.

Member Function Documentation

◆ ClassName()

ClassName ( "meshObjects"  )

◆ movePoints()

void movePoints ( objectRegistry obr)
static

Definition at line 56 of file meshObjectsTemplates.C.

References Foam::endl(), forAllIter, Foam::isA(), objectRegistry::lookupClass(), IOobject::name(), OSstream::name(), and Foam::Pout.

Here is the call graph for this function:

◆ topoChange()

void topoChange ( objectRegistry obr,
const polyTopoChangeMap map 
)
static

Definition at line 138 of file meshObjectsTemplates.C.

References Foam::endl(), forAllIter, Foam::isA(), objectRegistry::lookupClass(), IOobject::name(), OSstream::name(), and Foam::Pout.

Here is the call graph for this function:

◆ mapMesh()

void mapMesh ( objectRegistry obr,
const polyMeshMap map 
)
static

Definition at line 181 of file meshObjectsTemplates.C.

References Foam::endl(), forAllIter, Foam::isA(), objectRegistry::lookupClass(), IOobject::name(), OSstream::name(), and Foam::Pout.

Here is the call graph for this function:

◆ distribute()

void distribute ( objectRegistry obr,
const polyDistributionMap map 
)
static

Definition at line 94 of file meshObjectsTemplates.C.

References Foam::endl(), forAllIter, Foam::isA(), objectRegistry::lookupClass(), IOobject::name(), OSstream::name(), and Foam::Pout.

Here is the call graph for this function:

◆ addPatch()

void addPatch ( objectRegistry obr,
const label  patchi 
)
static

Definition at line 223 of file meshObjectsTemplates.C.

References Foam::endl(), forAllIter, Foam::isA(), objectRegistry::lookupClass(), IOobject::name(), OSstream::name(), patchi, and Foam::Pout.

Here is the call graph for this function:

◆ reorderPatches()

void reorderPatches ( objectRegistry obr,
const labelUList newToOld,
const bool  validBoundary 
)
static

Definition at line 262 of file meshObjectsTemplates.C.

References Foam::endl(), forAllIter, Foam::isA(), objectRegistry::lookupClass(), IOobject::name(), OSstream::name(), and Foam::Pout.

Here is the call graph for this function:

◆ clear()

void clear ( objectRegistry obr)
static

Definition at line 309 of file meshObjectsTemplates.C.

References Foam::endl(), forAllIter, objectRegistry::lookupClass(), IOobject::name(), and Foam::Pout.

Here is the call graph for this function:

◆ clearUpto()

void clearUpto ( objectRegistry obr)
static

Clear all meshObjects derived from FromType up to (but not including)

ToType. Used to clear e.g. all non-updateable meshObjects

Definition at line 336 of file meshObjectsTemplates.C.

References Foam::endl(), forAllIter, Foam::isA(), objectRegistry::lookupClass(), IOobject::name(), and Foam::Pout.

Referenced by polyMesh::addPatch(), polyMesh::clearAddressing(), and polyMesh::reorderPatches().

Here is the call graph for this function:
Here is the caller graph for this function:

The documentation for this class was generated from the following files: