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)
 Construct null from mesh. More...
 
 InteractionLists (const polyMesh &mesh, scalar maxDistance, Switch writeCloud=false, const word &UName="U")
 Construct and call function to create all information from. More...
 
 ~InteractionLists ()
 
void sendReferredData (const List< DynamicList< ParticleType * > > &cellOccupancy, PstreamBuffers &pBufs)
 Prepare and send referred particles and wall data,. More...
 
void receiveReferredData (PstreamBuffers &pBufs, const label startReq=0)
 Receive referred data. More...
 
const polyMeshmesh () const
 Return access to the mesh. More...
 
const mapDistributecellMap () const
 Return access to the cellMap. More...
 
const mapDistributewallFaceMap () const
 Return access to the wallFaceMap. More...
 
const labelListListdil () const
 Return access to the direct interaction list. More...
 
const labelListListdwfil () const
 Return access to the direct wall face interaction list. More...
 
const labelListListril () const
 Return access to the referred interaction list. More...
 
const labelListListrilInverse () const
 Return access to the inverse referred interaction list. More...
 
const labelListListrwfil () const
 Return access to the referred wall face interaction list. More...
 
const labelListListrwfilInverse () const
 Return access to the inverse referred wall face. More...
 
const List< labelPair > & cellIndexAndTransformToDistribute () const
 Return access to the cellIndexAndTransformToDistribute list. More...
 
const List< labelPair > & wallFaceIndexAndTransformToDistribute () const
 Return access to the wallFaceIndexAndTransformToDistribute list. More...
 
const List< referredWallFace > & referredWallFaces () const
 Return access to the referred wall faces. More...
 
const wordUName () const
 Return the name of the velocity field. More...
 
const List< vector > & referredWallData () const
 Return access to the referred wall data. More...
 
const List< IDLList< ParticleType > > & referredParticles () const
 Return access to the referred particle container. More...
 
List< IDLList< ParticleType > > & referredParticles ()
 Return non-const access to the referred particle container. More...
 

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::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 79 of file InteractionLists.H.

Constructor & Destructor Documentation

InteractionLists ( const polyMesh mesh)

Construct null from mesh.

Definition at line 1099 of file InteractionLists.C.

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

Construct and call function to create all information from.

the mesh

Definition at line 1122 of file InteractionLists.C.

Definition at line 1153 of file InteractionLists.C.

References InteractionLists< ParticleType >::sendReferredData().

Here is the call graph for this function:

Member Function Documentation

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

Prepare and send referred particles and wall data,.

nonBlocking communication

Definition at line 1161 of file InteractionLists.C.

References InteractionLists< ParticleType >::cellMap(), cellOccupancy, polyMesh::changing(), Foam::endl(), forAll, UPstream::nProcs(), InteractionLists< ParticleType >::receiveReferredData(), mapDistribute::send(), List< T >::size(), mapDistribute::subMap(), InteractionLists< ParticleType >::wallFaceMap(), and WarningIn.

Referenced by InteractionLists< ParticleType >::~InteractionLists().

Here is the call graph for this function:

Here is the caller graph for this function:

void receiveReferredData ( PstreamBuffers pBufs,
const label  startReq = 0 
)
const Foam::polyMesh & mesh ( ) const
inline

Return access to the mesh.

Definition at line 31 of file InteractionListsI.H.

const Foam::mapDistribute & cellMap ( ) const
inline

Return access to the cellMap.

Definition at line 39 of file InteractionListsI.H.

Referenced by InteractionLists< ParticleType >::receiveReferredData(), and InteractionLists< ParticleType >::sendReferredData().

Here is the caller graph for this function:

const Foam::mapDistribute & wallFaceMap ( ) const
inline

Return access to the wallFaceMap.

Definition at line 47 of file InteractionListsI.H.

Referenced by InteractionLists< ParticleType >::receiveReferredData(), and InteractionLists< ParticleType >::sendReferredData().

Here is the caller graph for this function:

const Foam::labelListList & dil ( ) const
inline

Return access to the direct interaction list.

Definition at line 54 of file InteractionListsI.H.

const Foam::labelListList & dwfil ( ) const
inline

Return access to the direct wall face interaction list.

Definition at line 62 of file InteractionListsI.H.

const Foam::labelListList & ril ( ) const
inline

Return access to the referred interaction list.

Definition at line 69 of file InteractionListsI.H.

const Foam::labelListList & rilInverse ( ) const
inline

Return access to the inverse referred interaction list.

Definition at line 77 of file InteractionListsI.H.

const Foam::labelListList & rwfil ( ) const
inline

Return access to the referred wall face interaction list.

Definition at line 84 of file InteractionListsI.H.

const Foam::labelListList & rwfilInverse ( ) const
inline

Return access to the inverse referred wall face.

interaction list

Definition at line 92 of file InteractionListsI.H.

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

Return access to the cellIndexAndTransformToDistribute list.

Definition at line 100 of file InteractionListsI.H.

References InteractionLists< ParticleType >::wallFaceIndexAndTransformToDistribute().

Here is the call graph for this function:

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

Return access to the wallFaceIndexAndTransformToDistribute list.

Definition at line 109 of file InteractionListsI.H.

Referenced by InteractionLists< ParticleType >::cellIndexAndTransformToDistribute().

Here is the caller graph for this function:

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

Return access to the referred wall faces.

Definition at line 117 of file InteractionListsI.H.

const Foam::word & UName ( ) const
inline

Return the name of the velocity field.

Definition at line 124 of file InteractionListsI.H.

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

Return access to the referred wall data.

Definition at line 132 of file InteractionListsI.H.

const Foam::List< Foam::IDLList< ParticleType > > & referredParticles ( ) const
inline

Return access to the referred particle container.

Definition at line 140 of file InteractionListsI.H.

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

Return non-const access to the referred particle container.

Definition at line 148 of file InteractionListsI.H.


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