Builds direct interaction list, specifying which local (real) cells are potentially in range of each other. More...
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 polyMesh & | mesh () const |
Return access to the mesh. More... | |
const mapDistribute & | cellMap () const |
Return access to the cellMap. More... | |
const mapDistribute & | wallFaceMap () const |
Return access to the wallFaceMap. More... | |
const labelListList & | dil () const |
Return access to the direct interaction list. More... | |
const labelListList & | dwfil () const |
Return access to the direct wall face interaction list. More... | |
const labelListList & | ril () const |
Return access to the referred interaction list. More... | |
const labelListList & | rilInverse () const |
Return access to the inverse referred interaction list. More... | |
const labelListList & | rwfil () const |
Return access to the referred wall face interaction list. More... | |
const labelListList & | rwfilInverse () 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 word & | UName () 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... | |
Private Member Functions | |
void | buildInteractionLists () |
Construct all interaction lists. More... | |
void | findExtendedProcBbsInRange (const treeBoundBox &procBb, const List< treeBoundBox > &allExtendedProcBbs, const globalIndexAndTransform &globalTransforms, List< treeBoundBox > &extendedProcBbsInRange, List< label > &extendedProcBbsTransformIndex, List< label > &extendedProcBbsOrigProc) |
Find the other processors which have interaction range. More... | |
void | buildMap (autoPtr< mapDistribute > &mapPtr, const List< label > &toProc) |
Build the mapDistribute from information about which entry. More... | |
void | prepareParticlesToRefer (const List< DynamicList< ParticleType * > > &cellOccupancy) |
Fill the referredParticles container with particles that. More... | |
void | prepareParticleToBeReferred (ParticleType *particle, labelPair iat) |
Prepare particle to be referred. More... | |
void | fillReferredParticleCloud () |
Fill the referredParticles so that it will be written out. More... | |
void | prepareWallDataToRefer () |
Populate the referredWallData container with data that. More... | |
void | writeReferredWallFaces () const |
Write the referred wall faces out for debug. More... | |
InteractionLists (const InteractionLists &) | |
Disallow default bitwise copy construct. More... | |
void | operator= (const InteractionLists &) |
Disallow default bitwise assignment. More... | |
Private Attributes | |
const polyMesh & | mesh_ |
Reference to mesh. More... | |
Cloud< ParticleType > | cloud_ |
Dummy cloud to give to particles. More... | |
const Switch | writeCloud_ |
Switch controlling whether or not the cloud gets populated. More... | |
autoPtr< mapDistribute > | cellMapPtr_ |
mapDistribute to exchange referred particles into referred cells More... | |
autoPtr< mapDistribute > | wallFaceMapPtr_ |
mapDistribute to exchange wall face data More... | |
scalar | maxDistance_ |
Maximum distance over which interactions will be detected. More... | |
labelListList | dil_ |
Direct interaction list. More... | |
labelListList | dwfil_ |
Wall faces on this processor that are in interaction range. More... | |
labelListList | ril_ |
Referred interaction list - which real cells are to be. More... | |
labelListList | rilInverse_ |
Inverse addressing for referred cells, specifies which. More... | |
labelListList | rwfil_ |
Which real cells on this on this processor are in. More... | |
labelListList | rwfilInverse_ |
Inverse addressing for referred wall faces, specifies. More... | |
List< labelPair > | cellIndexAndTransformToDistribute_ |
Which cells are to be sent via the cellMap, and an index. More... | |
List< labelPair > | wallFaceIndexAndTransformToDistribute_ |
Which wallFaces are to be sent via the wallFaceMap, and an index. More... | |
List< referredWallFace > | referredWallFaces_ |
Referred wall faces. More... | |
const word | UName_ |
Velocity field name, default to "U". More... | |
List< vector > | referredWallData_ |
Referred wall face velocity field values;. More... | |
List< IDLList< ParticleType > > | referredParticles_ |
Referred particle container. More... | |
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_;
Definition at line 79 of file InteractionLists.H.
|
private |
Disallow default bitwise copy construct.
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.
|
private |
Construct all interaction lists.
Definition at line 37 of file InteractionLists.C.
|
private |
Find the other processors which have interaction range.
extended bound boxes in range
Definition at line 637 of file InteractionLists.C.
|
private |
Build the mapDistribute from information about which entry.
is to be sent to which processor
Definition at line 829 of file InteractionLists.C.
|
private |
Fill the referredParticles container with particles that.
will be referred
Definition at line 916 of file InteractionLists.C.
|
private |
Prepare particle to be referred.
Definition at line 959 of file InteractionLists.C.
|
private |
Fill the referredParticles so that it will be written out.
Definition at line 984 of file InteractionLists.C.
|
private |
Populate the referredWallData container with data that.
will be referred.
Definition at line 1006 of file InteractionLists.C.
|
private |
Write the referred wall faces out for debug.
Definition at line 1052 of file InteractionLists.C.
|
private |
Disallow default bitwise assignment.
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.
void receiveReferredData | ( | PstreamBuffers & | pBufs, |
const label | startReq = 0 |
||
) |
Receive referred data.
Definition at line 1209 of file InteractionLists.C.
|
inline |
Return access to the mesh.
Definition at line 31 of file InteractionListsI.H.
|
inline |
Return access to the cellMap.
Definition at line 39 of file InteractionListsI.H.
|
inline |
Return access to the wallFaceMap.
Definition at line 47 of file InteractionListsI.H.
|
inline |
Return access to the direct interaction list.
Definition at line 54 of file InteractionListsI.H.
|
inline |
Return access to the direct wall face interaction list.
Definition at line 62 of file InteractionListsI.H.
|
inline |
Return access to the referred interaction list.
Definition at line 69 of file InteractionListsI.H.
|
inline |
Return access to the inverse referred interaction list.
Definition at line 77 of file InteractionListsI.H.
|
inline |
Return access to the referred wall face interaction list.
Definition at line 84 of file InteractionListsI.H.
|
inline |
Return access to the inverse referred wall face.
interaction list
Definition at line 92 of file InteractionListsI.H.
|
inline |
Return access to the cellIndexAndTransformToDistribute list.
Definition at line 100 of file InteractionListsI.H.
|
inline |
Return access to the wallFaceIndexAndTransformToDistribute list.
Definition at line 109 of file InteractionListsI.H.
|
inline |
Return access to the referred wall faces.
Definition at line 117 of file InteractionListsI.H.
|
inline |
Return the name of the velocity field.
Definition at line 124 of file InteractionListsI.H.
|
inline |
Return access to the referred wall data.
Definition at line 132 of file InteractionListsI.H.
|
inline |
Return access to the referred particle container.
Definition at line 140 of file InteractionListsI.H.
Return non-const access to the referred particle container.
|
private |
Reference to mesh.
Definition at line 84 of file InteractionLists.H.
|
private |
Dummy cloud to give to particles.
Definition at line 87 of file InteractionLists.H.
|
private |
Switch controlling whether or not the cloud gets populated.
with the referred particles, hence gets written out
Definition at line 91 of file InteractionLists.H.
|
private |
mapDistribute to exchange referred particles into referred cells
Definition at line 94 of file InteractionLists.H.
|
private |
mapDistribute to exchange wall face data
Definition at line 97 of file InteractionLists.H.
|
private |
Maximum distance over which interactions will be detected.
Definition at line 100 of file InteractionLists.H.
|
private |
Direct interaction list.
Definition at line 103 of file InteractionLists.H.
|
private |
Wall faces on this processor that are in interaction range.
of each each cell (direct wall face interaction list)
Definition at line 107 of file InteractionLists.H.
|
private |
Referred interaction list - which real cells are to be.
supplied with particle interactions from the referred particle container with the same index.
Definition at line 112 of file InteractionLists.H.
|
private |
Inverse addressing for referred cells, specifies which.
referred cells (indices of entries in the ril_ and referredParticles_ lists) interact with the real cell indexed in this container.
Definition at line 118 of file InteractionLists.H.
|
private |
Which real cells on this on this processor are in.
interaction range of each referred wall face (referred wall face interaction list)
Definition at line 123 of file InteractionLists.H.
|
private |
Inverse addressing for referred wall faces, specifies.
which referred wall faces interact with the real cells indexed in this container.
Definition at line 128 of file InteractionLists.H.
Which cells are to be sent via the cellMap, and an index.
specifying how they should be transformed.
Definition at line 132 of file InteractionLists.H.
Which wallFaces are to be sent via the wallFaceMap, and an index.
specifying how they should be transformed.
Definition at line 136 of file InteractionLists.H.
|
private |
Referred wall faces.
Definition at line 139 of file InteractionLists.H.
|
private |
Velocity field name, default to "U".
Definition at line 142 of file InteractionLists.H.
Referred wall face velocity field values;.
Definition at line 145 of file InteractionLists.H.
Referred particle container.
Definition at line 148 of file InteractionLists.H.
Copyright © 2011-2018 OpenFOAM | OPENFOAM® is a registered trademark of OpenCFD Ltd.