52 if (polyTopoChange::debug)
70 if (polyTopoChange::debug)
88 if (polyTopoChange::debug)
98 rio.
rename(
"refinementHistory");
106 if (polyTopoChange::debug)
125 if (data.cellLevelPtr_.valid())
128 rio.
rename(data.cellLevelPtr_().name());
139 if (data.pointLevelPtr_.valid())
142 rio.
rename(data.pointLevelPtr_().name());
153 if (data.level0EdgePtr_.valid())
156 rio.
rename(data.level0EdgePtr_().name());
163 if (data.refHistoryPtr_.valid())
166 rio.
rename(data.refHistoryPtr_().name());
168 refHistoryPtr_ = data.refHistoryPtr_().clone(rio, cellMap);
185 if (procDatas[0].cellLevelPtr_.valid())
188 rio.
rename(procDatas[0].cellLevelPtr_().
name());
195 const labelList& procCellLevel = procDatas[procI].cellLevelPtr_();
203 if (procDatas[0].pointLevelPtr_.valid())
206 rio.
rename(procDatas[0].pointLevelPtr_().
name());
209 labelList& pointLevel = pointLevelPtr_();
213 const labelList& procPointLevel = procDatas[procI].pointLevelPtr_();
221 if (procDatas[0].level0EdgePtr_.valid())
224 rio.
rename(procDatas[0].level0EdgePtr_().
name());
231 procDatas[0].level0EdgePtr_()
239 if (procDatas[0].refHistoryPtr_.valid())
242 rio.
rename(procDatas[0].refHistoryPtr_().
name());
247 procRefs.set(i, &procDatas[i].refHistoryPtr_());
276 if (hasCellLevel && !cellLevelPtr_.valid())
285 if (hasPointLevel && !pointLevelPtr_.valid())
300 scalar masterLen = level0EdgePtr_().value();
302 if (!level0EdgePtr_.valid())
319 if (hasHistory && !refHistoryPtr_.valid())
322 rio.
rename(
"refinementHistory");
331 if (cellLevelPtr_.valid())
336 if (pointLevelPtr_.valid())
344 if (refHistoryPtr_.valid() && refHistoryPtr_().active())
346 refHistoryPtr_().topoChange(map);
354 if (cellLevelPtr_.valid())
358 if (pointLevelPtr_.valid())
365 if (refHistoryPtr_.valid() && refHistoryPtr_().active())
367 refHistoryPtr_().distribute(map);
375 if (cellLevelPtr_.valid())
377 ok = ok && cellLevelPtr_().write();
379 if (pointLevelPtr_.valid())
381 ok = ok && pointLevelPtr_().write();
383 if (level0EdgePtr_.valid())
385 ok = ok && level0EdgePtr_().write();
387 if (refHistoryPtr_.valid())
389 ok = ok && refHistoryPtr_().write();
#define forAll(list, i)
Loop across all elements in list.
Class containing mesh-to-mesh mapping information after a mesh distribution where we send parts of me...
const word & name() const
Return name.
void topoChange(const polyTopoChangeMap &)
In-place update for topology changes.
bool headerOk()
Read header (uses typeGlobalFile to find file) and check.
const fileName & facesInstance() const
Return the current instance directory for faces.
void sync(const IOobject &io)
Parallel synchronise. This enforces valid objects on all processors.
Templated form of IOobject providing type information for file reading and header type checking...
virtual void rename(const word &newName)
Rename.
const labelList & pointMap() const
Old point map.
const distributionMap & cellMap() const
Cell distribute map.
Ostream & endl(Ostream &os)
Add newline and flush stream.
UniformDimensionedField< scalar > uniformDimensionedScalarField
void distribute(List< T > &fld, const bool dummyTransform=true, const int tag=UPstream::msgType()) const
Distribute data using default commsType.
const dimensionSet dimLength
const labelList & cellMap() const
Old cell map.
Class containing mesh-to-mesh mapping information after a change in polyMesh topology.
List< label > labelList
A List of labels.
A templated 1D list of pointers to objects of type <T>, where the size of the array is known and used...
static void scatter(const List< commsStruct > &comms, T &Value, const int tag, const label comm)
Scatter data. Distribute without modification. Reverse of gather.
const polyMesh & mesh() const
Return polyMesh.
hexRef8Data(const IOobject &io)
Construct read. Has special provision for only some processors.
void distribute(const polyDistributionMap &)
In-place distribute.
word name(const complex &)
Return a string representation of a complex.
label size() const
Return the number of elements in the UPtrList.
dimensioned< scalar > dimensionedScalar
Dimensioned scalar obtained from generic dimensioned type.
A List with indirect addressing.
T returnReduce(const T &Value, const BinaryOp &bop, const int tag=Pstream::msgType(), const label comm=UPstream::worldComm)
Various for reading/decomposing/reconstructing/distributing refinement data.
Mesh consisting of general polyhedral cells.
const distributionMap & pointMap() const
Point distribute map.
All refinement history. Used in unrefinement.
const objectRegistry & db() const
Return the local objectRegistry.
readOption readOpt() const
IOobject defines the attributes of an object for which implicit objectRegistry management is supporte...
~hexRef8Data()
Destructor.
IOList< label > labelIOList
Label container classes.