void createParallelAddressing(const labelLongList &nodeLabelForPoint, const labelLongList &nodeLabelForFace, const labelLongList &nodeLabelForCell)
create parallel addressing
void createBufferLayers()
create buffer layers
DynList< label > * neiProcsPtr_
processors which should communicate with the current one
LongList< direction > smoothVertex_
shall a node be used for smoothing or not
void createPolyMesh(polyMeshGen &pmg) const
creates polyMeshGen from this partTetMesh
#define forAll(list, i)
Loop across all elements in list.
labelLongList * pAtParallelBoundariesPtr_
labels of points at parallel boundaries
VRWGraph * boundaryPointsOrderPtr_
boundary point ordering for parallel runs
static bool & parRun()
Is this a parallel run?
LongList< partTet > tets_
tetrahedra making the mesh
labelLongList * globalPointLabelPtr_
global point label
const VRWGraph & pointTets() const
partTetMesh(polyMeshGen &mesh, const labelLongList &lockedPoints)
construct from polyMeshGen and locked points
VRWGraph * internalPointsOrderPtr_
internal point ordering for parallel runs
const VRWGraph & pointAtProcs() const
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 Map< label > & globalToLocalPointAddressing() const
VRWGraph * pAtProcsPtr_
processor for containing points
void updateOrigMesh(boolList *changedFacePtr=NULL)
updates the vertices of the original polyMeshGen
const LongList< partTet > & tets() const
void createSMOOTHPointsOrdering() const
create ordering of internal points for parallel execution
void lockPoints(const labelListType &l)
add the LOCKED flag to mesh points which shall not move
void createPointsAndTets(const List< direction > &usedCells, const boolList &lockedPoints)
create points and tets
labelLongList * pAtBufferLayersPtr_
labels of points serving as buffer layers on other processors
errorManip< error > abort(error &err)
Map< label > * globalToLocalPointAddressingPtr_
mapping between global and local point labels
const labelLongList & bufferLayerPoints() const
void createBOUNDARYPointsOrdering() const
create order of boundary points for parallel execution
const labelLongList & pointsAtProcessorBoundaries() const
const labelLongList & nodeLabelInOrigMesh() const
VRWGraph pointTets_
addressing data
polyMeshGen & origMesh_
reference to the original mesh
This class is an implementation of a graph with variable column width. The imoplementation is memory ...
labelLongList nodeLabelInOrigMesh_
label of node in the polyMeshGen
const VRWGraph & boundaryPointOrdering() const
return vertex ordering for boundary points
const VRWGraph & internalPointOrdering() const
LongList< point > points_
points in the tet mesh
void updateVerticesSMP(const List< LongList< labelledPoint > > &)
const DynList< label > & neiProcs() const
const LongList< point > & points() const
access to points, tets and other data
const LongList< direction > & smoothVertex() const
void updateVertex(const label pointI, const point &newP)
move the vertex to a new position
const labelLongList & globalPointLabel() const