Public Member Functions | List of all members
faMeshBoundaryHalo Class Reference

Class for obtaining halo face data for the boundary edges. The ordering follows that natural edge ordering of the underlying primitive patch. More...

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

Public Member Functions

 ClassName ("faMeshBoundaryHalo")
 
 faMeshBoundaryHalo (const label comm=UPstream::worldComm)
 
 faMeshBoundaryHalo (const faMesh &mesh)
 
void clear ()
 
void reset (const faMesh &mesh)
 
label haloSize () const
 
const labelListinputMeshFaces () const noexcept
 
template<class Type >
void distributeSparse (List< Type > &fld, const labelUList &sparseInputLocations, const labelUList &compactOutputMapping) const
 
template<class Type >
void distributeSparse (List< Type > &fld, const labelUList &sparseInputLocations) const
 
template<class Type >
void distributeSparse (List< Type > &fld) const
 
- Public Member Functions inherited from mapDistributeBase
 ClassName ("mapDistributeBase")
 
 mapDistributeBase (const label comm=UPstream::worldComm)
 
 mapDistributeBase (const mapDistributeBase &map)
 
 mapDistributeBase (mapDistributeBase &&map)
 
 mapDistributeBase (const label constructSize, labelListList &&subMap, labelListList &&constructMap, const bool subHasFlip=false, const bool constructHasFlip=false, const label comm=UPstream::worldComm)
 
 mapDistributeBase (const labelUList &sendProcs, const labelUList &recvProcs, const label comm=UPstream::worldComm)
 
 mapDistributeBase (const globalIndex &, labelList &elements, List< Map< label >> &compactMap, const int tag=Pstream::msgType(), const label comm=UPstream::worldComm)
 
 mapDistributeBase (const globalIndex &, labelListList &cellCells, List< Map< label >> &compactMap, const int tag=Pstream::msgType(), const label comm=UPstream::worldComm)
 
 mapDistributeBase (labelListList &&subMap, const bool subHasFlip=false, const bool constructHasFlip=false, const label comm=UPstream::worldComm)
 
 mapDistributeBase (Istream &is)
 
label constructSize () const
 
label & constructSize ()
 
const labelListListsubMap () const
 
labelListListsubMap ()
 
const labelListListconstructMap () const
 
labelListListconstructMap ()
 
bool subHasFlip () const
 
boolsubHasFlip ()
 
bool constructHasFlip () const
 
boolconstructHasFlip ()
 
label comm () const
 
const List< labelPair > & schedule () const
 
void transfer (mapDistributeBase &rhs)
 
void compact (const boolList &elemIsUsed, const int tag=UPstream::msgType())
 
void compact (const boolList &elemIsUsed, const label localSize, labelList &oldToNewSub, labelList &oldToNewConstruct, const int tag=UPstream::msgType())
 
template<class T >
void distribute (List< T > &fld, const int tag=UPstream::msgType()) const
 
template<class T , class negateOp >
void distribute (List< T > &fld, const negateOp &negOp, const int tag=UPstream::msgType()) const
 
template<class T >
void distribute (DynamicList< T > &fld, const int tag=UPstream::msgType()) const
 
template<class T >
void reverseDistribute (const label constructSize, List< T > &, const int tag=UPstream::msgType()) const
 
template<class T >
void reverseDistribute (const label constructSize, const T &nullValue, List< T > &fld, const int tag=UPstream::msgType()) const
 
template<class T >
void send (PstreamBuffers &, const List< T > &) const
 
template<class T >
void receive (PstreamBuffers &, List< T > &) const
 
void printLayout (Ostream &os) const
 
void updateMesh (const mapPolyMesh &)
 
void operator= (const mapDistributeBase &rhs)
 
void operator= (mapDistributeBase &&rhs)
 

Additional Inherited Members

- Static Public Member Functions inherited from mapDistributeBase
static List< labelPairschedule (const labelListList &subMap, const labelListList &constructMap, const int tag, const label comm=UPstream::worldComm)
 
static label renumber (const globalIndex &, const List< Map< label >> &compactMap, const label globalElement)
 
template<class T , class negateOp >
static void distribute (const Pstream::commsTypes commsType, const List< labelPair > &schedule, const label constructSize, const labelListList &subMap, const bool subHasFlip, const labelListList &constructMap, const bool constructHasFlip, List< T > &, const negateOp &negOp, const int tag=UPstream::msgType(), const label comm=UPstream::worldComm)
 
template<class T , class CombineOp , class negateOp >
static void distribute (const Pstream::commsTypes commsType, const List< labelPair > &schedule, const label constructSize, const labelListList &subMap, const bool subHasFlip, const labelListList &constructMap, const bool constructHasFlip, List< T > &, const T &nullValue, const CombineOp &cop, const negateOp &negOp, const int tag=UPstream::msgType(), const label comm=UPstream::worldComm)
 
- Protected Member Functions inherited from mapDistributeBase
void calcCompactAddressing (const globalIndex &globalNumbering, const labelUList &elements, List< Map< label >> &compactMap) const
 
void calcCompactAddressing (const globalIndex &globalNumbering, const labelListList &elements, List< Map< label >> &compactMap) const
 
void exchangeAddressing (const int tag, const globalIndex &globalNumbering, labelList &elements, List< Map< label >> &compactMap, labelList &compactStart)
 
void exchangeAddressing (const int tag, const globalIndex &globalNumbering, labelListList &elements, List< Map< label >> &compactMap, labelList &compactStart)
 
- Static Protected Member Functions inherited from mapDistributeBase
static void checkReceivedSize (const label proci, const label expectedSize, const label receivedSize)
 
template<class T , class CombineOp , class negateOp >
static void flipAndCombine (const labelUList &map, const bool hasFlip, const UList< T > &rhs, const CombineOp &cop, const negateOp &negOp, List< T > &lhs)
 
template<class T , class negateOp >
static T accessAndFlip (const UList< T > &fld, const label index, const bool hasFlip, const negateOp &negOp)
 
- Protected Attributes inherited from mapDistributeBase
label constructSize_
 
labelListList subMap_
 
labelListList constructMap_
 
bool subHasFlip_
 
bool constructHasFlip_
 
label comm_
 
autoPtr< List< labelPair > > schedulePtr_
 

Detailed Description

Class for obtaining halo face data for the boundary edges. The ordering follows that natural edge ordering of the underlying primitive patch.

Note
The halo faces can be located on-processor or off-processor.
Source files

Definition at line 55 of file faMeshBoundaryHalo.H.

Constructor & Destructor Documentation

◆ faMeshBoundaryHalo() [1/2]

faMeshBoundaryHalo ( const label  comm = UPstream::worldComm)
explicit

Definition at line 36 of file faMeshBoundaryHalo.C.

◆ faMeshBoundaryHalo() [2/2]

faMeshBoundaryHalo ( const faMesh mesh)
explicit

Definition at line 44 of file faMeshBoundaryHalo.C.

References faMeshBoundaryHalo::reset().

Here is the call graph for this function:

Member Function Documentation

◆ ClassName()

ClassName ( "faMeshBoundaryHalo"  )

◆ clear()

void clear ( )

Definition at line 56 of file faMeshBoundaryHalo.C.

◆ reset()

void reset ( const faMesh mesh)

Definition at line 78 of file faMeshBoundaryHalo.C.

References forAll, HashSet::insert(), UPstream::msgType(), UPstream::myProcNo(), UPstream::nProcs(), UPstream::parRun(), List::resize(), and globalIndex::toGlobal().

Referenced by faMesh::boundaryHaloMap(), and faMeshBoundaryHalo::faMeshBoundaryHalo().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ haloSize()

Foam::label haloSize ( ) const

Definition at line 65 of file faMeshBoundaryHalo.C.

References UPstream::parRun().

Here is the call graph for this function:

◆ inputMeshFaces()

const labelList& inputMeshFaces ( ) const
inlinenoexcept

Definition at line 99 of file faMeshBoundaryHalo.H.

◆ distributeSparse() [1/3]

void distributeSparse ( List< Type > &  fld,
const labelUList sparseInputLocations,
const labelUList compactOutputMapping 
) const

Definition at line 29 of file faMeshBoundaryHaloTemplates.C.

References UList::empty(), Foam::exit(), Foam::FatalError, FatalErrorInFunction, fld, forAll, UList::size(), and Foam::Zero.

Referenced by faMeshBoundaryHalo::distributeSparse().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ distributeSparse() [2/3]

void distributeSparse ( List< Type > &  fld,
const labelUList sparseInputLocations 
) const

Definition at line 84 of file faMeshBoundaryHaloTemplates.C.

References fld.

◆ distributeSparse() [3/3]

void distributeSparse ( List< Type > &  fld) const

Definition at line 94 of file faMeshBoundaryHaloTemplates.C.

References faMeshBoundaryHalo::distributeSparse().

Here is the call graph for this function:

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