Public Types | Public Member Functions | Static Public Member Functions | Private Member Functions | Private Attributes
DistributedDelaunayMesh< Triangulation > Class Template Reference
Inheritance diagram for DistributedDelaunayMesh< Triangulation >:
Inheritance graph
[legend]
Collaboration diagram for DistributedDelaunayMesh< Triangulation >:
Collaboration graph
[legend]

Public Types

typedef Triangulation::Vertex_handle Vertex_handle
 
typedef Triangulation::Cell_handle Cell_handle
 
typedef Triangulation::Point Point
 
typedef Triangulation::Finite_vertices_iterator Finite_vertices_iterator
 
typedef Triangulation::Finite_cells_iterator Finite_cells_iterator
 
typedef Triangulation::All_cells_iterator All_cells_iterator
 
typedef DelaunayMesh< Triangulation >::labelPairHashSet labelPairHashSet
 
- Public Types inherited from DelaunayMesh< Triangulation >
typedef Triangulation::Cell_handle Cell_handle
 
typedef Triangulation::Vertex_handle Vertex_handle
 
typedef Triangulation::Edge Edge
 
typedef Triangulation::Point Point
 
typedef Triangulation::Facet Facet
 
typedef Triangulation::Finite_vertices_iterator Finite_vertices_iterator
 
typedef Triangulation::Finite_cells_iterator Finite_cells_iterator
 
typedef Triangulation::Finite_facets_iterator Finite_facets_iterator
 
typedef HashSet< Pair< label >, FixedList< label, 2 >::Hash<> > labelPairHashSet
 
typedef HashTable< label, labelPair, FixedList< label, 2 >::Hash<> > labelTolabelPairHashTable
 

Public Member Functions

 DistributedDelaunayMesh (const Time &runTime)
 Construct from components. More...
 
 DistributedDelaunayMesh (const Time &runTime, const word &meshName)
 
 ~DistributedDelaunayMesh ()
 Destructor. More...
 
scalar calculateLoadUnbalance () const
 
bool distribute (const boundBox &bb)
 
autoPtr< mapDistributedistribute (const backgroundMeshDecomposition &decomposition, List< Foam::point > &points)
 
void sync (const boundBox &bb)
 Refer vertices so that the processor interfaces are consistent. More...
 
void sync (const boundBox &bb, PtrList< labelPairHashSet > &referralVertices, labelPairHashSet &receivedVertices, bool iterateReferral=true)
 Refer vertices so that the processor interfaces are consistent. More...
 
template<class PointIterator >
labelPairHashSet rangeInsertReferredWithInfo (PointIterator begin, PointIterator end, bool printErrors=true)
 Inserts points into the triangulation if the point is within. More...
 
- Public Member Functions inherited from DelaunayMesh< Triangulation >
 DelaunayMesh (const Time &runTime)
 Construct from components. More...
 
 DelaunayMesh (const Time &runTime, const word &meshName)
 
 ~DelaunayMesh ()
 Destructor. More...
 
const Timetime () const
 Return a reference to the Time object. More...
 
void timeCheck (const string &description, const bool check=true) const
 Write the cpuTime to screen. More...
 
label getNewCellIndex () const
 Create a new unique cell index and return. More...
 
label getNewVertexIndex () const
 Create a new unique vertex index and return. More...
 
label cellCount () const
 Return the cell count (the next unique cell index) More...
 
label vertexCount () const
 Return the vertex count (the next unique vertex index) More...
 
void resetCellCount ()
 Set the cell count to zero. More...
 
void resetVertexCount ()
 Set the vertex count to zero. More...
 
void reset ()
 Clear the entire triangulation. More...
 
Map< labelinsertPoints (const List< Vb > &vertices, const bool reIndex)
 Insert the list of vertices (calls rangeInsertWithInfo) More...
 
template<class PointIterator >
Map< labelrangeInsertWithInfo (PointIterator begin, PointIterator end, bool printErrors=false, bool reIndex=true)
 Function inserting points into a triangulation and setting the. More...
 
void printInfo (Ostream &os) const
 Write mesh statistics to stream. More...
 
void printVertexInfo (Ostream &os) const
 Write vertex statistics in the form of a table to stream. More...
 
autoPtr< polyMeshcreateMesh (const fileName &name, labelTolabelPairHashTable &vertexMap, labelList &cellMap, const bool writeDelaunayData=true) const
 Create an fvMesh from the triangulation. More...
 

Static Public Member Functions

static autoPtr< mapDistributebuildMap (const List< label > &toProc)
 Build a mapDistribute for the supplied destination processor data. More...
 

Private Member Functions

bool distributeBoundBoxes (const boundBox &bb)
 
bool isLocal (const Vertex_handle &v) const
 
bool isLocal (const label localProcIndex) const
 
labelList overlapProcessors (const point &centre, const scalar radiusSqr) const
 
bool checkProcBoundaryCell (const Cell_handle &cit, Map< labelList > &circumsphereOverlaps) const
 
void findProcessorBoundaryCells (Map< labelList > &circumsphereOverlaps) const
 
void markVerticesToRefer (const Map< labelList > &circumsphereOverlaps, PtrList< labelPairHashSet > &referralVertices, DynamicList< label > &targetProcessor, DynamicList< Vb > &parallelInfluenceVertices)
 
label referVertices (const DynamicList< label > &targetProcessor, DynamicList< Vb > &parallelVertices, PtrList< labelPairHashSet > &referralVertices, labelPairHashSet &receivedVertices)
 
 DistributedDelaunayMesh (const DistributedDelaunayMesh< Triangulation > &)
 Disallow default bitwise copy construct. More...
 
void operator= (const DistributedDelaunayMesh< Triangulation > &)
 Disallow default bitwise assignment. More...
 

Private Attributes

autoPtr< List< boundBox > > allBackgroundMeshBounds_
 

Detailed Description

template<class Triangulation>
class Foam::DistributedDelaunayMesh< Triangulation >

Source files

Definition at line 56 of file DistributedDelaunayMesh.H.

Member Typedef Documentation

◆ Vertex_handle

typedef Triangulation::Vertex_handle Vertex_handle

Definition at line 62 of file DistributedDelaunayMesh.H.

◆ Cell_handle

typedef Triangulation::Cell_handle Cell_handle

Definition at line 63 of file DistributedDelaunayMesh.H.

◆ Point

typedef Triangulation::Point Point

Definition at line 64 of file DistributedDelaunayMesh.H.

◆ Finite_vertices_iterator

typedef Triangulation::Finite_vertices_iterator Finite_vertices_iterator

Definition at line 67 of file DistributedDelaunayMesh.H.

◆ Finite_cells_iterator

typedef Triangulation::Finite_cells_iterator Finite_cells_iterator

Definition at line 69 of file DistributedDelaunayMesh.H.

◆ All_cells_iterator

typedef Triangulation::All_cells_iterator All_cells_iterator

Definition at line 71 of file DistributedDelaunayMesh.H.

◆ labelPairHashSet

Definition at line 74 of file DistributedDelaunayMesh.H.

Constructor & Destructor Documentation

◆ DistributedDelaunayMesh() [1/3]

DistributedDelaunayMesh ( const DistributedDelaunayMesh< Triangulation > &  )
private

Disallow default bitwise copy construct.

◆ DistributedDelaunayMesh() [2/3]

DistributedDelaunayMesh ( const Time runTime)
explicit

Construct from components.

◆ DistributedDelaunayMesh() [3/3]

DistributedDelaunayMesh ( const Time runTime,
const word meshName 
)

◆ ~DistributedDelaunayMesh()

Destructor.

Member Function Documentation

◆ distributeBoundBoxes()

bool distributeBoundBoxes ( const boundBox bb)
private

◆ isLocal() [1/2]

bool isLocal ( const Vertex_handle v) const
private

◆ isLocal() [2/2]

bool isLocal ( const label  localProcIndex) const
private

◆ overlapProcessors()

labelList overlapProcessors ( const point centre,
const scalar  radiusSqr 
) const
private

◆ checkProcBoundaryCell()

bool checkProcBoundaryCell ( const Cell_handle cit,
Map< labelList > &  circumsphereOverlaps 
) const
private

◆ findProcessorBoundaryCells()

void findProcessorBoundaryCells ( Map< labelList > &  circumsphereOverlaps) const
private

◆ markVerticesToRefer()

void markVerticesToRefer ( const Map< labelList > &  circumsphereOverlaps,
PtrList< labelPairHashSet > &  referralVertices,
DynamicList< label > &  targetProcessor,
DynamicList< Vb > &  parallelInfluenceVertices 
)
private

◆ referVertices()

label referVertices ( const DynamicList< label > &  targetProcessor,
DynamicList< Vb > &  parallelVertices,
PtrList< labelPairHashSet > &  referralVertices,
labelPairHashSet receivedVertices 
)
private

◆ operator=()

void operator= ( const DistributedDelaunayMesh< Triangulation > &  )
private

Disallow default bitwise assignment.

◆ calculateLoadUnbalance()

scalar calculateLoadUnbalance ( ) const

◆ buildMap()

static autoPtr<mapDistribute> buildMap ( const List< label > &  toProc)
static

Build a mapDistribute for the supplied destination processor data.

◆ distribute() [1/2]

bool distribute ( const boundBox bb)

◆ distribute() [2/2]

autoPtr<mapDistribute> distribute ( const backgroundMeshDecomposition decomposition,
List< Foam::point > &  points 
)

◆ sync() [1/2]

void sync ( const boundBox bb)

Refer vertices so that the processor interfaces are consistent.

◆ sync() [2/2]

void sync ( const boundBox bb,
PtrList< labelPairHashSet > &  referralVertices,
labelPairHashSet receivedVertices,
bool  iterateReferral = true 
)

Refer vertices so that the processor interfaces are consistent.

◆ rangeInsertReferredWithInfo()

labelPairHashSet rangeInsertReferredWithInfo ( PointIterator  begin,
PointIterator  end,
bool  printErrors = true 
)

Inserts points into the triangulation if the point is within.

the circumsphere of another cell. Returns HashSet of failed point insertions

Field Documentation

◆ allBackgroundMeshBounds_

autoPtr<List<boundBox> > allBackgroundMeshBounds_
private

Definition at line 79 of file DistributedDelaunayMesh.H.


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