32 void Foam::processorMeshes::read()
38 boundaryProcAddressing_.set(proci,
nullptr);
39 cellProcAddressing_.set(proci,
nullptr);
40 faceProcAddressing_.set(proci,
nullptr);
41 pointProcAddressing_.set(proci,
nullptr);
42 meshes_.set(proci,
nullptr);
61 pointProcAddressing_.set
68 "pointProcAddressing",
69 meshes_[proci].facesInstance(),
70 meshes_[proci].meshSubDir,
78 faceProcAddressing_.set
86 meshes_[proci].facesInstance(),
87 meshes_[proci].meshSubDir,
95 cellProcAddressing_.set
102 "cellProcAddressing",
103 meshes_[proci].facesInstance(),
104 meshes_[proci].meshSubDir,
112 boundaryProcAddressing_.set
119 "boundaryProcAddressing",
120 meshes_[proci].facesInstance(),
121 meshes_[proci].meshSubDir,
141 databases_(databases),
142 meshes_(databases.
size()),
143 pointProcAddressing_(databases.
size()),
144 faceProcAddressing_(databases.
size()),
145 cellProcAddressing_(databases.
size()),
146 boundaryProcAddressing_(databases.
size())
178 else if (stat != procStat)
181 <<
"Processor " << proci
182 <<
" has a different polyMesh at time " 183 << databases_[proci].timeName()
184 <<
" compared to any previous processors." <<
nl 185 <<
"Please check time " << databases_[proci].timeName()
186 <<
" directories on all processors for consistent" 236 const vectorField& procPoints = procsPoints[proci];
240 const labelList& pointProcAddressingI = pointProcAddressing_[proci];
242 if (pointProcAddressingI.
size() != procPoints.
size())
246 <<
" pointProcAddressingI:" << pointProcAddressingI.
size()
247 <<
" procPoints:" << procPoints.
size()
251 forAll(pointProcAddressingI, pointi)
253 newPoints[pointProcAddressingI[pointi]] = procPoints[pointi];
#define forAll(list, i)
Loop across all elements in list.
bool moving() const
Is mesh moving.
errorManipArg< error, int > exit(error &err, const int errNo=1)
#define FatalErrorInFunction
Report an error message using Foam::FatalError.
static word meshSubDir
Return the mesh sub-directory name (usually "polyMesh")
void size(const label)
Override size to be inconsistent with allocated storage.
virtual bool write(const bool write=true) const
Write mesh using IO settings from time.
A class for handling words, derived from string.
errorManip< error > abort(error &err)
void reconstructPoints(fvMesh &)
Reconstruct point position after motion in parallel.
processorMeshes(PtrList< Time > &databases, const word &meshName)
Construct from components.
virtual tmp< scalarField > movePoints(const pointField &)
Move points, returns volumes swept by faces in motion.
label size() const
Return the number of elements in the UPtrList.
A templated 1D list of pointers to objects of type <T>, where the size of the array is known and used...
Mesh data needed to do the Finite Volume discretisation.
fvMesh::readUpdateState readUpdate()
Update the meshes based on the mesh files saved in time directories.
readUpdateState
Enumeration defining the state of the mesh after a read update.
IOobject defines the attributes of an object for which implicit objectRegistry management is supporte...
A primitive field of type <T> with automated input and output.
IOList< label > labelIOList
Label container classes.