![]() |
LifeV
|
Class that builds a mesh part, after the graph has been partitioned. More...
#include <MeshPartBuilder.hpp>
Collaboration diagram for MeshPartBuilder< MeshType >:Data Structures | |
| struct | entityPID_Type |
Private Member Functions | |
| void | markEntityOwnership (const entityPID_Type &entityPID) |
| Mark entity ownership. More... | |
Public Types | |
| typedef MeshType | mesh_Type |
| typedef std::shared_ptr< mesh_Type > | meshPtr_Type |
| typedef std::shared_ptr< Epetra_Comm > | commPtr_Type |
Constructors & Destructors | |
| MeshPartBuilder (const meshPtr_Type &mesh, const UInt overlap, const commPtr_Type &comm) | |
| Constructor. More... | |
| ~MeshPartBuilder () | |
| Empty destructor. More... | |
Public Methods | |
| void | run (const meshPtr_Type &meshPart, const idTablePtr_Type &graph, const entityPID_Type &entityPIDList, const UInt partIndex) |
| Run part builder. More... | |
| void | reset () |
| Resets the MeshPartBuilder object to the initial state. More... | |
Get Methods | |
| const std::map< Int, Int > & | globalToLocalElement () const |
| void | constructLocalMesh (const std::vector< Int > &elementList) |
| Private Methods. More... | |
| void | constructNodes () |
| Construct nodes. More... | |
| void | constructElements () |
| Construct volumes. More... | |
| void | constructRidges () |
| Construct edges. More... | |
| void | constructFacets () |
| Construct faces. More... | |
| void | finalSetup () |
| Final setup of local mesh. More... | |
| UInt | M_nBoundaryVertices |
| Private Data Members. More... | |
| UInt | M_nBoundaryRidges |
| UInt | M_nBoundaryFacets |
| UInt | M_elementVertices |
| UInt | M_elementFacets |
| UInt | M_elementRidges |
| UInt | M_facetVertices |
| std::vector< Int > | M_localVertices |
| std::set< Int > | M_localRidges |
| std::set< Int > | M_localFacets |
| std::vector< Int > | M_localElements |
| std::map< Int, Int > | M_globalToLocalVertex |
| std::map< Int, Int > | M_globalToLocalElement |
| meshPtr_Type | M_originalMesh |
| meshPtr_Type | M_meshPart |
| UInt | M_partIndex |
| UInt | M_overlap |
| commPtr_Type | M_comm |
Class that builds a mesh part, after the graph has been partitioned.
This class is used as a component for the MeshPartitionTool class. When an object of class MeshPartBuilder is instantiated it holds pointer to the global uncut mesh.
The only public method that this class implements is a run method, which takes a vector of element IDs which corespond to a mesh part and builds a RegionMesh object with this elements.
Definition at line 68 of file MeshPartBuilder.hpp.
Definition at line 73 of file MeshPartBuilder.hpp.
| typedef std::shared_ptr<mesh_Type> meshPtr_Type |
Definition at line 74 of file MeshPartBuilder.hpp.
| typedef std::shared_ptr<Epetra_Comm> commPtr_Type |
Definition at line 75 of file MeshPartBuilder.hpp.
| MeshPartBuilder | ( | const meshPtr_Type & | mesh, |
| const UInt | overlap, | ||
| const commPtr_Type & | comm | ||
| ) |
Constructor.
Constructor which takes a pointer to a RegionMesh object, the uncut mesh
| mesh | - shared pointer to the global uncut mesh |
Definition at line 207 of file MeshPartBuilder.hpp.
|
inline |
Empty destructor.
Definition at line 100 of file MeshPartBuilder.hpp.
| void run | ( | const meshPtr_Type & | meshPart, |
| const idTablePtr_Type & | graph, | ||
| const entityPID_Type & | entityPIDList, | ||
| const UInt | partIndex | ||
| ) |
Run part builder.
This method performs all the steps for the mesh and graph partitioning
| meshPart | - shared pointer to a RegionMesh object which will contain the mesh part |
| elementList | - shared pointer to a vector of int, representing the element IDs associated with this mesh part |
Definition at line 225 of file MeshPartBuilder.hpp.
| void reset | ( | ) |
Resets the MeshPartBuilder object to the initial state.
Definition at line 613 of file MeshPartBuilder.hpp.
Definition at line 125 of file MeshPartBuilder.hpp.
|
private |
Private Methods.
Construct local mesh
Constructs the data structures for the local mesh partition. Updates M_localVertices, M_localRidges, M_localFacets, M_localElements, M_globalToLocalVertex.
Definition at line 257 of file MeshPartBuilder.hpp.
|
private |
Construct nodes.
Adds nodes to the partitioned mesh object. Updates M_nBoundaryVertices, M_meshPartition.
Definition at line 310 of file MeshPartBuilder.hpp.
Here is the caller graph for this function:
|
private |
Construct volumes.
Adds volumes to the partitioned mesh object. Updates M_globalToLocalElement, M_meshPartition.
Definition at line 345 of file MeshPartBuilder.hpp.
Here is the caller graph for this function:
|
private |
Construct edges.
Adds edges to the partitioned mesh object. Updates M_nBoundaryRidges, M_meshPartition.
Definition at line 383 of file MeshPartBuilder.hpp.
Here is the caller graph for this function:
|
private |
Construct faces.
Adds faces to the partitioned mesh object. Updates M_nBoundaryFacets, M_meshPartition.
Definition at line 425 of file MeshPartBuilder.hpp.
Here is the caller graph for this function:
|
private |
Final setup of local mesh.
Updates the partitioned mesh object data members after adding the mesh elements (nodes, edges, faces, volumes). Updates M_meshPartition.
Definition at line 535 of file MeshPartBuilder.hpp.
Here is the caller graph for this function:
|
private |
Mark entity ownership.
Mark all owned entities in the partition with EntityFlag::OWNED to properly build map members in DOF::GlobalElements().
Definition at line 571 of file MeshPartBuilder.hpp.
Here is the caller graph for this function:
|
private |
Private Data Members.
Definition at line 183 of file MeshPartBuilder.hpp.
|
private |
Definition at line 184 of file MeshPartBuilder.hpp.
|
private |
Definition at line 185 of file MeshPartBuilder.hpp.
|
private |
Definition at line 186 of file MeshPartBuilder.hpp.
|
private |
Definition at line 187 of file MeshPartBuilder.hpp.
|
private |
Definition at line 188 of file MeshPartBuilder.hpp.
|
private |
Definition at line 189 of file MeshPartBuilder.hpp.
|
private |
Definition at line 190 of file MeshPartBuilder.hpp.
|
private |
Definition at line 191 of file MeshPartBuilder.hpp.
|
private |
Definition at line 192 of file MeshPartBuilder.hpp.
|
private |
Definition at line 193 of file MeshPartBuilder.hpp.
Definition at line 194 of file MeshPartBuilder.hpp.
Definition at line 195 of file MeshPartBuilder.hpp.
|
private |
Definition at line 196 of file MeshPartBuilder.hpp.
|
private |
Definition at line 197 of file MeshPartBuilder.hpp.
|
private |
Definition at line 198 of file MeshPartBuilder.hpp.
|
private |
Definition at line 199 of file MeshPartBuilder.hpp.
|
private |
Definition at line 200 of file MeshPartBuilder.hpp.