diff --git a/src/lagrangian/basic/Cloud/Cloud.C b/src/lagrangian/basic/Cloud/Cloud.C index 95ae4d798a4a9ef7b90492c9fcf490ada5ca2887..8f817df7fb12a83fb4442887fc1cc168494c4799 100644 --- a/src/lagrangian/basic/Cloud/Cloud.C +++ b/src/lagrangian/basic/Cloud/Cloud.C @@ -101,13 +101,23 @@ template<class ParticleType> template<class TrackingData> void Foam::Cloud<ParticleType>::move(TrackingData& td) { + const polyBoundaryMesh& pbm = pMesh().boundaryMesh(); const globalMeshData& pData = polyMesh_.globalData(); - const labelList& neighbourProcs = pData[Pstream::myProcNo()]; + + // Which patches are processor patches const labelList& procPatches = pData.processorPatches(); + + // Indexing of patches into the procPatches list const labelList& procPatchIndices = pData.processorPatchIndices(); + + // Indexing of equivalent patch on neighbour processor into the + // procPatches list on the neighbour const labelList& procPatchNeighbours = pData.processorPatchNeighbours(); - const polyBoundaryMesh& pbm = pMesh().boundaryMesh(); + // Which processors this processor is connected to + const labelList& neighbourProcs = pData[Pstream::myProcNo()]; + + // Indexing from the processor number into the neighbourProcs list labelList neighbourProcIndices(Pstream::nProcs(), -1); forAll(neighbourProcs, i) @@ -205,7 +215,7 @@ void Foam::Cloud<ParticleType>::move(TrackingData& td) ); particleStream - << labelList(patchIndexTransferLists[i]) + << patchIndexTransferLists[i] << particleTransferLists[i]; } }