|
| ClassName ("backgroundMeshDecomposition") |
|
| backgroundMeshDecomposition (const Time &runTime, Random &rndGen, const conformationSurfaces &geometryToConformTo, const dictionary &coeffsDict, const fileName &decompDictFile="") |
|
| ~backgroundMeshDecomposition ()=default |
|
autoPtr< mapDistributePolyMesh > | distribute (volScalarField &cellWeights) |
|
template<class PointType > |
autoPtr< mapDistribute > | distributePoints (List< PointType > &points) const |
|
bool | positionOnThisProcessor (const point &pt) const |
|
boolList | positionOnThisProcessor (const List< point > &pts) const |
|
bool | overlapsThisProcessor (const treeBoundBox &box) const |
|
bool | overlapsThisProcessor (const point ¢re, const scalar radiusSqr) const |
|
pointIndexHit | findLine (const point &start, const point &end) const |
|
pointIndexHit | findLineAny (const point &start, const point &end) const |
|
template<class PointType > |
labelList | processorPosition (const List< PointType > &pts) const |
|
labelList | processorNearestPosition (const List< point > &pts) const |
|
List< List< pointIndexHit > > | intersectsProcessors (const List< point > &starts, const List< point > &ends, bool includeOwnProcessor=false) const |
|
bool | overlapsOtherProcessors (const point ¢re, const scalar &radiusSqr) const |
|
labelList | overlapProcessors (const point ¢re, const scalar radiusSqr) const |
|
const fvMesh & | mesh () const |
|
const indexedOctree< treeDataBPatch > & | tree () const |
|
const treeBoundBox & | procBounds () const |
|
const labelList & | cellLevel () const |
|
const labelList & | pointLevel () const |
|
Store a background polyMesh to use for the decomposition of space and queries for parallel conformalVoronoiMesh.
The requirements are:
- To have a decomposition of space which can quickly interrogate an arbitrary location from any processor to reliably and unambiguously determine which processor owns the space that the point is in, i.e. as the vertices move, or need inserted as part of the surface conformation, send them to the correct proc.
- To be able to be dynamically built, refined and redistributed to other procs the partitioning as the meshing progresses to balance the load.
- To be able to query whether a sphere (the circumsphere of a Delaunay tet) overlaps any part of the space defined by the structure, and whether a ray (Voronoi edge) penetrates any part of the space defined by the structure, this is what determines if points get referred to a processor.
- Source files
-
Definition at line 90 of file backgroundMeshDecomposition.H.