Public Member Functions | List of all members
InteractionLists< ParticleType > Class Template Reference

Builds direct interaction list, specifying which local (real) cells are potentially in range of each other. More...

Inheritance diagram for InteractionLists< ParticleType >:
Inheritance graph
[legend]

Public Member Functions

 InteractionLists (const polyMesh &mesh)
 
 InteractionLists (const polyMesh &mesh, scalar maxDistance, bool writeCloud=false, const word &UName="U")
 
 ~InteractionLists ()
 
void sendReferredData (const List< DynamicList< ParticleType * >> &cellOccupancy, PstreamBuffers &pBufs)
 
void receiveReferredData (PstreamBuffers &pBufs, const label startReq=0)
 
const polyMeshmesh () const
 
const mapDistributecellMap () const
 
const mapDistributewallFaceMap () const
 
const labelListListdil () const
 
const labelListListdwfil () const
 
const labelListListril () const
 
const labelListListrilInverse () const
 
const labelListListrwfil () const
 
const labelListListrwfilInverse () const
 
const List< labelPair > & cellIndexAndTransformToDistribute () const
 
const List< labelPair > & wallFaceIndexAndTransformToDistribute () const
 
const List< referredWallFace > & referredWallFaces () const
 
const wordUName () const
 
const List< vector > & referredWallData () const
 
const List< IDLList< ParticleType > > & referredParticles () const
 
List< IDLList< ParticleType > > & referredParticles ()
 

Detailed Description

template<class ParticleType>
class Foam::InteractionLists< ParticleType >

Builds direct interaction list, specifying which local (real) cells are potentially in range of each other.

Builds referred interaction list, specifying which cells are required to provide interactions across coupled patches (cyclic or processor). Generates referred cells, and refers particles to the correct processor, applying the appropriate transform.

Simultaneous communication and computation is possible using:

PstreamBuffers pBufs(Pstream::commsTypes::nonBlocking);
label startOfRequests = Pstream::nRequests();
il_.sendReferredData(cellOccupancy_, pBufs);
// Do other things
il_.receiveReferredData(pBufs, startOfRequests);

Requiring data:

List<DynamicList<typename CloudType::parcelType*>> cellOccupancy_;
Source files

Definition at line 77 of file InteractionLists.H.

Constructor & Destructor Documentation

◆ InteractionLists() [1/2]

InteractionLists ( const polyMesh mesh)

Definition at line 1088 of file InteractionLists.C.

◆ InteractionLists() [2/2]

InteractionLists ( const polyMesh mesh,
scalar  maxDistance,
bool  writeCloud = false,
const word UName = "U" 
)

Definition at line 1111 of file InteractionLists.C.

◆ ~InteractionLists()

Definition at line 1142 of file InteractionLists.C.

Member Function Documentation

◆ sendReferredData()

void sendReferredData ( const List< DynamicList< ParticleType * >> &  cellOccupancy,
PstreamBuffers pBufs 
)

Definition at line 1150 of file InteractionLists.C.

◆ receiveReferredData()

void receiveReferredData ( PstreamBuffers pBufs,
const label  startReq = 0 
)

Definition at line 1198 of file InteractionLists.C.

◆ mesh()

const Foam::polyMesh & mesh
inline

Definition at line 26 of file InteractionListsI.H.

◆ cellMap()

const Foam::mapDistribute & cellMap
inline

Definition at line 34 of file InteractionListsI.H.

◆ wallFaceMap()

const Foam::mapDistribute & wallFaceMap
inline

Definition at line 42 of file InteractionListsI.H.

◆ dil()

const Foam::labelListList & dil
inline

Definition at line 49 of file InteractionListsI.H.

◆ dwfil()

const Foam::labelListList & dwfil
inline

Definition at line 57 of file InteractionListsI.H.

◆ ril()

const Foam::labelListList & ril
inline

Definition at line 64 of file InteractionListsI.H.

◆ rilInverse()

const Foam::labelListList & rilInverse
inline

Definition at line 72 of file InteractionListsI.H.

◆ rwfil()

const Foam::labelListList & rwfil
inline

Definition at line 79 of file InteractionListsI.H.

◆ rwfilInverse()

const Foam::labelListList & rwfilInverse
inline

Definition at line 87 of file InteractionListsI.H.

◆ cellIndexAndTransformToDistribute()

const Foam::List< Foam::labelPair > & cellIndexAndTransformToDistribute
inline

Definition at line 95 of file InteractionListsI.H.

◆ wallFaceIndexAndTransformToDistribute()

const Foam::List< Foam::labelPair > & wallFaceIndexAndTransformToDistribute
inline

Definition at line 104 of file InteractionListsI.H.

◆ referredWallFaces()

const Foam::List< Foam::referredWallFace > & referredWallFaces
inline

Definition at line 112 of file InteractionListsI.H.

◆ UName()

const Foam::word & UName
inline

Definition at line 119 of file InteractionListsI.H.

◆ referredWallData()

const Foam::List< Foam::vector > & referredWallData
inline

Definition at line 127 of file InteractionListsI.H.

◆ referredParticles() [1/2]

Foam::List< Foam::IDLList< ParticleType > > & referredParticles
inline

Definition at line 135 of file InteractionListsI.H.

◆ referredParticles() [2/2]

List<IDLList<ParticleType> >& referredParticles ( )
inline

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