Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
faceBox Class Reference

Creates the parallel distribution map by describing the source and target objects using box shapes. More...

Inheritance diagram for faceBox:
Inheritance graph
[legend]
Collaboration diagram for faceBox:
Collaboration graph
[legend]

Public Member Functions

 TypeName ("box")
 
 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)
 
virtual ~faceBox ()=default
 
virtual autoPtr< mapDistributemap ()
 
- Public Member Functions inherited from box
 TypeName ("box")
 
 box (const UList< point > &srcPoints, const UList< point > &tgtPoints, const label maxObjectsPerLeaf, const label nObjectsOfType, const label nRefineIterMax=100)
 
virtual ~box ()=default
 
- Public Member Functions inherited from processorLOD
 TypeName ("processorLOD")
 
 processorLOD (const label maxObjectsPerLeaf, const label nObjectsOfType)
 
virtual ~processorLOD ()=default
 

Protected Member Functions

virtual boundBox calcSrcBox (const label srcObji) const
 
virtual boundBox calcTgtBox (const label tgtObji) const
 
- Protected Member Functions inherited from box
void writeBoxes (const List< DynamicList< treeBoundBox >> &fixedBoxes, const label iter) const
 
void setRefineFlags (const label refineIter, const label nTgtObjects, List< labelHashSet > &fixedSendElems, List< List< labelList >> &localTgtElems, List< labelList > &refineFlags, labelList &nElems) const
 
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)
 
autoPtr< mapDistributecreateMap (const label nSrcElems, const label nTgtElems)
 
autoPtr< mapDistributecreateLODMap (List< labelList > &sendElems) const
 

Protected Attributes

const faceListsrcFaces_
 
const faceListtgtFaces_
 
- Protected Attributes inherited from box
const UList< point > & srcPoints_
 
const UList< point > & tgtPoints_
 
List< List< treeBoundBox > > boxes_
 
label nRefineIterMax_
 
List< labelListnewToOld_
 
List< List< labelList > > boxSrcElems_
 
- Protected Attributes inherited from processorLOD
label maxObjectsPerLeaf_
 
label nObjectsOfType_
 

Additional Inherited Members

- Static Protected Attributes inherited from box
static const label DROP = 0
 
static const label REFINE = 1
 
static const label FIXED = 2
 
static const label nStartUpIter = 2
 

Detailed Description

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 51 of file faceBox.H.

Constructor & Destructor Documentation

◆ faceBox()

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 
)

Definition at line 55 of file faceBox.C.

◆ ~faceBox()

virtual ~faceBox ( )
virtualdefault

Member Function Documentation

◆ calcSrcBox()

Foam::boundBox calcSrcBox ( const label  srcObji) const
protectedvirtual

Implements box.

Definition at line 35 of file faceBox.C.

◆ calcTgtBox()

Foam::boundBox calcTgtBox ( const label  tgtObji) const
protectedvirtual

Implements box.

Definition at line 44 of file faceBox.C.

◆ TypeName()

TypeName ( "box"  )

◆ map()

Foam::autoPtr< Foam::mapDistribute > map ( )
virtual

Implements processorLOD.

Reimplemented in cellBox.

Definition at line 71 of file faceBox.C.

References box::createMap(), faceBox::srcFaces_, and faceBox::tgtFaces_.

Here is the call graph for this function:

Member Data Documentation

◆ srcFaces_

const faceList& srcFaces_
protected

Definition at line 60 of file faceBox.H.

Referenced by faceBox::map().

◆ tgtFaces_

const faceList& tgtFaces_
protected

Definition at line 63 of file faceBox.H.

Referenced by faceBox::map().


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