32 void Foam::processorMeshes::read()
50 pointProcAddressing_.
set
57 "pointProcAddressing",
58 meshes_[procI].facesInstance(),
59 meshes_[procI].meshSubDir,
67 faceProcAddressing_.
set
75 meshes_[procI].facesInstance(),
76 meshes_[procI].meshSubDir,
84 cellProcAddressing_.
set
92 meshes_[procI].facesInstance(),
93 meshes_[procI].meshSubDir,
101 boundaryProcAddressing_.
set
108 "boundaryProcAddressing",
109 meshes_[procI].facesInstance(),
110 meshes_[procI].meshSubDir,
123 Foam::processorMeshes::processorMeshes
125 PtrList<Time>& databases,
129 databases_(databases),
131 meshes_(databases.size()),
132 pointProcAddressing_(databases.size()),
133 faceProcAddressing_(databases.size()),
134 cellProcAddressing_(databases.size()),
135 boundaryProcAddressing_(databases.size())
147 forAll (databases_, procI)
169 if (stat != procStat)
172 <<
"Processor " << procI
173 <<
" has a different polyMesh at time "
174 << databases_[procI].timeName()
175 <<
" compared to any previous processors." <<
nl
176 <<
"Please check time " << databases_[procI].timeName()
177 <<
" directories on all processors for consistent"
200 PtrList<pointIOField> procsPoints(meshes_.size());
227 const vectorField& procPoints = procsPoints[procI];
231 const labelList& pointProcAddressingI = pointProcAddressing_[procI];
233 if (pointProcAddressingI.size() != procPoints.size())
237 <<
" pointProcAddressingI:" << pointProcAddressingI.size()
238 <<
" procPoints:" << procPoints.size()
242 forAll(pointProcAddressingI, pointI)
244 newPoints[pointProcAddressingI[pointI]] = procPoints[pointI];
248 mesh.movePoints(newPoints);