Creates the parallel distribution map by describing the source and target objects using box shapes.
More...
|
| TypeName ("box") |
| Runtime type information. More...
|
|
| cellBox (const cellList &srcCells, const faceList &srcFaces, const UList< point > &srcPoints, const cellList &tgtCells, const faceList &tgtFaces, const UList< point > &tgtPoints, const label maxObjectsPerLeaf, const label nObjectsOfType, const label nRefineIterMax=100) |
| Construct from list of points. More...
|
|
virtual | ~cellBox ()=default |
| Destructor. More...
|
|
virtual autoPtr< mapDistribute > | map () |
| Return the parallel distribution map. More...
|
|
| TypeName ("box") |
| Runtime type information. More...
|
|
| faceBox (const faceList &srcFaces, const UList< point > &srcPoints, const faceList &tgtFaces, const UList< point > &tgtPoints, const label maxObjectsPerLeaf, const label nObjectsOfType, const label nRefineIterMax=100) |
| Construct from list of points. More...
|
|
virtual | ~faceBox ()=default |
| Destructor. More...
|
|
| TypeName ("box") |
| Runtime type information. More...
|
|
| box (const UList< point > &srcPoints, const UList< point > &tgtPoints, const label maxObjectsPerLeaf, const label nObjectsOfType, const label nRefineIterMax=100) |
| Construct from list of points. More...
|
|
virtual | ~box ()=default |
| Destructor. More...
|
|
| TypeName ("processorLOD") |
| Runtime type information. More...
|
|
| processorLOD (const label maxObjectsPerLeaf, const label nObjectsOfType) |
| Construct from components. More...
|
|
virtual | ~processorLOD ()=default |
| Destructor. More...
|
|
|
void | writeBoxes (const List< DynamicList< treeBoundBox >> &fixedBoxes, const label iter) const |
| Helper function to write the boxes in OBJ format. More...
|
|
void | setRefineFlags (const label refineIter, const label nTgtObjects, List< labelHashSet > &fixedSendElems, List< List< labelList >> &localTgtElems, List< labelList > &refineFlags, labelList &nElems) const |
| Set the box refinement flags. More...
|
|
void | refineBox (const label boxi, const label refineIter, const label nSrcElem, const treeBoundBox &origBox, DynamicList< treeBoundBox > &procBoxes, DynamicList< labelList > &procBoxElems, DynamicList< label > &procNewToOld) const |
|
void | refineBox (const label boxi, const labelList &srcAddr, const treeBoundBox &origBox, DynamicList< treeBoundBox > &procBoxes, DynamicList< labelList > &procBoxElems, DynamicList< label > &procNewToOld) const |
|
bool | doRefineBoxes (const label refineIter, const label nSrcFaces, const List< labelList > &refineFlags, List< DynamicList< treeBoundBox >> &fixedBoxes) |
| Apply the box refinements. More...
|
|
autoPtr< mapDistribute > | createMap (const label nSrcElems, const label nTgtElems) |
|
const faceList & | srcFaces_ |
| Reference to the source face list. More...
|
|
const faceList & | tgtFaces_ |
| Reference to the target face list. More...
|
|
const UList< point > & | srcPoints_ |
| Reference to the source points. More...
|
|
const UList< point > & | tgtPoints_ |
| Reference to the target points. More...
|
|
List< List< treeBoundBox > > | boxes_ |
| Per processor, the list of src bound boxes. More...
|
|
label | nRefineIterMax_ |
| Maximum number of refinement iterations. More...
|
|
List< labelList > | newToOld_ |
| Addressing per proc of new to old bound boxes. More...
|
|
List< List< labelList > > | boxSrcElems_ |
| Indices of elements in the src boxes. More...
|
|
label | maxObjectsPerLeaf_ |
| Maximum number of objects per leaf. More...
|
|
label | nObjectsOfType_ |
| Number of objects of this type, e.g. number of faces/cells on this processor. More...
|
|
static const label | DROP = 0 |
| Drop/discard. More...
|
|
static const label | REFINE = 1 |
| Refine. More...
|
|
static const label | FIXED = 2 |
| Fixed - do not touch. More...
|
|
static const label | nStartUpIter = 2 |
| Number of iterations before element indices are cached. More...
|
|
Creates the parallel distribution map by describing the source and target objects using box shapes.
A single box is created for the source object, which is then split using 2x2x2 refinement based on the number of remote target objects that overlap. The refinement is local between communicating processor pairs, where the refinement continues until a threshold number of remote target objects per source box is achieved.
Definition at line 52 of file cellBox.H.