Loading...
Searching...
No Matches
InteractionLists< ParticleType > Class Template Reference

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

#include <InteractionLists.H>

Inheritance diagram for InteractionLists< ParticleType >:

Public Member Functions

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

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;
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]

template<class ParticleType>
InteractionLists ( const polyMesh & mesh)

Construct null from mesh.

Definition at line 1004 of file InteractionLists.C.

References mesh().

Here is the call graph for this function:

◆ InteractionLists() [2/2]

template<class ParticleType>
InteractionLists ( const polyMesh & mesh,
scalar maxDistance,
bool writeCloud = false,
const word & UName = "U" )

Construct and call function to create all information from.

the mesh

Definition at line 1026 of file InteractionLists.C.

References mesh(), and UName().

Here is the call graph for this function:

◆ ~InteractionLists()

template<class ParticleType>
~InteractionLists ( )

Definition at line 1058 of file InteractionLists.C.

Member Function Documentation

◆ sendReferredData()

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

Prepare and send referred particles and wall data (nonBlocking).

Definition at line 1065 of file InteractionLists.C.

References UPstream::allProcs(), cellMap(), cellOccupancy, Foam::endl(), forAll, UList< T >::size(), wallFaceMap(), and WarningInFunction.

Here is the call graph for this function:

◆ receiveReferredData()

template<class ParticleType>
void receiveReferredData ( PstreamBuffers & pBufs,
const label startReq = 0 )

Receive referred data.

Definition at line 1113 of file InteractionLists.C.

References UPstream::allProcs(), cellMap(), forAll, p, UList< T >::size(), UPstream::waitRequests(), and wallFaceMap().

Here is the call graph for this function:

◆ mesh()

template<class ParticleType>
const Foam::polyMesh & mesh ( ) const
inline

Return access to the mesh.

Definition at line 26 of file InteractionListsI.H.

Referenced by InteractionLists(), and InteractionLists().

Here is the caller graph for this function:

◆ cellMap()

template<class ParticleType>
const Foam::mapDistribute & cellMap ( ) const
inline

Return access to the cellMap.

Definition at line 34 of file InteractionListsI.H.

Referenced by receiveReferredData(), and sendReferredData().

Here is the caller graph for this function:

◆ wallFaceMap()

template<class ParticleType>
const Foam::mapDistribute & wallFaceMap ( ) const
inline

Return access to the wallFaceMap.

Definition at line 42 of file InteractionListsI.H.

Referenced by receiveReferredData(), and sendReferredData().

Here is the caller graph for this function:

◆ dil()

template<class ParticleType>
const Foam::labelListList & dil ( ) const
inline

Return access to the direct interaction list.

Definition at line 49 of file InteractionListsI.H.

◆ dwfil()

template<class ParticleType>
const Foam::labelListList & dwfil ( ) const
inline

Return access to the direct wall face interaction list.

Definition at line 57 of file InteractionListsI.H.

◆ ril()

template<class ParticleType>
const Foam::labelListList & ril ( ) const
inline

Return access to the referred interaction list.

Definition at line 64 of file InteractionListsI.H.

◆ rilInverse()

template<class ParticleType>
const Foam::labelListList & rilInverse ( ) const
inline

Return access to the inverse referred interaction list.

Definition at line 72 of file InteractionListsI.H.

◆ rwfil()

template<class ParticleType>
const Foam::labelListList & rwfil ( ) const
inline

Return access to the referred wall face interaction list.

Definition at line 79 of file InteractionListsI.H.

◆ rwfilInverse()

template<class ParticleType>
const Foam::labelListList & rwfilInverse ( ) const
inline

Return access to the inverse referred wall face.

interaction list

Definition at line 87 of file InteractionListsI.H.

◆ cellIndexAndTransformToDistribute()

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

Return access to the cellIndexAndTransformToDistribute list.

Definition at line 95 of file InteractionListsI.H.

◆ wallFaceIndexAndTransformToDistribute()

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

Return access to the wallFaceIndexAndTransformToDistribute list.

Definition at line 103 of file InteractionListsI.H.

◆ referredWallFaces()

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

Return access to the referred wall faces.

Definition at line 112 of file InteractionListsI.H.

◆ UName()

template<class ParticleType>
const Foam::word & UName ( ) const
inline

Return the name of the velocity field.

Definition at line 119 of file InteractionListsI.H.

Referenced by InteractionLists().

Here is the caller graph for this function:

◆ referredWallData()

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

Return access to the referred wall data.

Definition at line 127 of file InteractionListsI.H.

◆ referredParticles() [1/2]

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

Return access to the referred particle container.

Definition at line 135 of file InteractionListsI.H.

◆ referredParticles() [2/2]

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

Return non-const access to the referred particle container.

Definition at line 143 of file InteractionListsI.H.


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