Go to the documentation of this file.
36 const label nSrcCells,
47 destinationProcID_ =
labelList(tgtMesh_.nCells(), Pstream::myProcNo());
50 destinationCell_ =
identity(tgtMesh_.nCells());
70 mesh.time().timePath()
80 cloudNames[i] = localCloudDirs[i];
85 Pstream::combineScatter(cloudNames);
95 mesh.time().timeName(),
96 cloud::prefix/localCloudDirs[i]
105 objectNames[cloudI].
setSize(sprayObjs.size());
110 if (
name !=
"positions")
112 objectNames[cloudI][objectI++] =
name;
115 objectNames[cloudI].
setSize(objectI);
120 forAll(objectNames, cloudI)
123 Pstream::combineScatter(objectNames[cloudI]);
158 label destProcI = destinationProcID_[ppi.
cell()];
159 label destCellI = destinationCell_[ppi.
cell()];
161 ppi.
cell() = destCellI;
162 destProc[particleI++] = destProcI;
165 particleTransferLists[destProcI].
append(lpi.remove(&ppi));
174 forAll(particleTransferLists, procI)
178 if (particleTransferLists[procI].size())
181 particleStream << particleTransferLists[procI];
211 label nRec = allNTrans[procI][Pstream::myProcNo()];
235 lagrangianPositions.
addParticle(newParticles.remove(&newp));
252 labelList& nsTransPs = sizes[Pstream::myProcNo()];
253 nsTransPs.
setSize(Pstream::nProcs());
256 nsTransPs[sendProcI] = subMap[sendProcI].
size();
262 label constructSize = 0;
263 forAll(constructMap, procI)
265 label nRecv = sizes[procI][UPstream::myProcNo()];
272 map[i] = constructSize++;
296 (void)srcMesh_.tetBasePtIs();
297 (void)tgtMesh_.tetBasePtIs();
301 regIOobject::fileModificationChecking;
303 if (oldCheckType == regIOobject::timeStampMaster)
305 regIOobject::fileModificationChecking = regIOobject::timeStamp;
307 else if (oldCheckType == regIOobject::inotifyMaster)
309 regIOobject::fileModificationChecking = regIOobject::inotify;
315 regIOobject::fileModificationChecking = oldCheckType;
317 return redistributeLagrangianPositions(lpi);
void addParticle(ParticleType *pPtr)
Transfer particle to cloud.
virtual bool write() const
autoPtr< mapDistributeBase > redistributeLagrangianPositions(passiveParticleCloud &cloud) const
Redistribute and write lagrangian positions.
A class for handling words, derived from string.
#define forAllIter(Container, container, iter)
Iterate across all elements in the container object of type.
Output inter-processor communications stream operating on external buffer.
List< label > labelList
A List of labels.
#define forAll(list, i)
Loop across all elements in list.
label findIndex(const ListType &, typename ListType::const_reference, const label start=0)
Find first occurence of given element and return index,.
labelListList invertOneToMany(const label len, const labelUList &)
Invert one-to-many map. Unmapped elements will be size 0.
Xfer< List< T > > xfer()
Transfer contents to the Xfer container.
Buffers for inter-processor communications streams (UOPstream, UIPstream).
void combineReduce(const List< UPstream::commsStruct > &comms, T &Value, const CombineOp &cop, const int tag, const label comm)
parLagrangianRedistributor(const parLagrangianRedistributor &)
Disallow default bitwise copy construct.
forAllConstIter(PtrDictionary< phaseModel >, mixture.phases(), phase)
label & cell()
Return current cell particle is in.
intWM_LABEL_SIZE_t label
A label is an int32_t or int64_t as specified by the pre-processor macro WM_LABEL_SIZE.
Intrusive doubly-linked list.
void append(const T &)
Append an element at the end of the list.
Class containing processor-to-processor mapping information.
Helper IO class to read and write particle positions.
fileCheckTypes
Types of communications.
A Cloud of passive particles.
void finishedSends(const bool block=true)
Mark all sends as having been done. This will start receives.
labelList identity(const label len)
Create identity map (map[i] == i) of given length.
IOobject * lookup(const word &name) const
Lookup a given name and return IOobject ptr if found else NULL.
static void findClouds(const fvMesh &, wordList &cloudNames, List< wordList > &objectNames)
Find all clouds (on all processors) and for each cloud all.
Mesh data needed to do the Finite Volume discretisation.
List of IOobjects with searching and retrieving facilities.
Helper class for list to append unique elelements of y onto the end of x.
void setSize(const label)
Reset size of List.
An auto-pointer similar to the STL auto_ptr but with automatic casting to a reference to the type and...
combineReduce operator for lists. Used for counting.
A 1D array of objects of type <T>, where the size of the vector is known and used for subscript bound...
const word cloudName(propsDict.lookup("cloudName"))
Class containing processor-to-processor mapping information.
void reverseDistribute(const label constructSize, List< T > &, const bool dummyTransform=true, const int tag=UPstream::msgType()) const
Reverse distribute data using default commsType.
Various functions to operate on Lists.
void size(const label)
Override size to be inconsistent with allocated storage.
Input inter-processor communications stream operating on external buffer.
fileNameList readDir(const fileName &, const fileName::Type=fileName::FILE, const bool filtergz=true)
Read a directory and return the entries as a string list.
Class containing mesh-to-mesh mapping information after a mesh distribution where we send parts of me...
Factory class to read-construct particles used for.
word name(const complex &)
Return a string representation of a complex.