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.
IOobject defines the attributes of an object for which implicit objectRegistry management is supporte...
const objectRegistry & db() const
Return the local objectRegistry.
readOption readOpt() const
virtual void rename(const word &newName)
Rename.
const word & name() const
Return name.
static void scatter(const List< commsStruct > &comms, T &Value, const int tag, const label comm)
Scatter data. Distribute without modification. Reverse of gather.
A List with indirect addressing.
A templated 1D list of pointers to objects of type <T>, where the size of the array is known and used...
bool set(const label) const
Is element set.
label size() const
Return the number of elements in the UPtrList.
void distribute(List< T > &fld, const bool dummyTransform=true, const int tag=UPstream::msgType()) const
Distribute data using default commsType.
Various for reading/decomposing/reconstructing/distributing refinement data.
void topoChange(const polyTopoChangeMap &)
In-place update for topology changes.
void distribute(const polyDistributionMap &)
In-place distribute.
void sync(const IOobject &io)
Parallel synchronise. This enforces valid objects on all processors.
~hexRef8Data()
Destructor.
hexRef8Data(const IOobject &io)
Construct read. Has special provision for only some processors.
Class containing mesh-to-mesh mapping information after a mesh distribution where we send parts of me...
const distributionMap & cellMap() const
Cell distribute map.
const distributionMap & pointMap() const
Point distribute map.
Mesh consisting of general polyhedral cells.
const fileName & facesInstance() const
Return the current instance directory for faces.
Class containing mesh-to-mesh mapping information after a change in polyMesh topology.
const labelList & cellMap() const
Old cell map.
const labelList & pointMap() const
Old point map.
const polyMesh & mesh() const
Return polyMesh.
All refinement history. Used in unrefinement.
Templated form of IOobject providing type information for file reading and header type checking.
bool headerOk()
Read header (uses typeGlobalFile to find file) and check.
List< label > labelList
A List of labels.
Ostream & endl(Ostream &os)
Add newline and flush stream.
word name(const bool)
Return a word representation of a bool.
UniformDimensionedField< scalar > uniformDimensionedScalarField
const dimensionSet dimLength
T returnReduce(const T &Value, const BinaryOp &bop, const int tag=Pstream::msgType(), const label comm=UPstream::worldComm)
IOList< label > labelIOList
Label container classes.
dimensioned< scalar > dimensionedScalar
Dimensioned scalar obtained from generic dimensioned type.