73 #ifndef refinementHistory_H 74 #define refinementHistory_H 91 class mapDistributePolyMesh;
93 class refinementHistory;
95 Istream&
operator>>(Istream&, refinementHistory&);
96 Ostream&
operator<<(Ostream&,
const refinementHistory&);
165 static void writeEntry
179 bool readIOcontents();
182 void checkIndices()
const;
185 label allocateSplitCell(
const label parent,
const label i);
188 void freeSplitCell(
const label index);
201 const label newProcNo,
209 void mark(
const label,
const label,
labelList&)
const;
213 label markCommonCells(
labelList& cellToCluster)
const;
274 return visibleCells_;
286 return freeSplitCells_;
304 label index = visibleCells_[celli];
309 <<
"Cell " << celli <<
" is not visible" 312 return splitCells_[index].parent_;
325 const label masterCelli,
368 void resize(
const label nCells);
void operator=(const splitCell8 &rhs)
Copy assignment (no autoPtr stealing)
autoPtr< IOobject > clone() const
Clone.
bool operator==(const splitCell8 &rhs) const
const DynamicList< splitCell8 > & splitCells() const
Storage for splitCell8s.
error FatalError
Error stream (stdout output on all processes), with additional 'FOAM FATAL ERROR' header text and sta...
#define FatalErrorInFunction
Report an error message using Foam::FatalError.
bool active() const
Is there unrefinement history?
An Istream is an abstract base class for all input systems (streams, files, token lists etc)...
Class containing mesh-to-mesh mapping information after a mesh distribution where we send parts of me...
splitCell8()
Default construct (parent = -1)
autoPtr< FixedList< label, 8 > > addedCellsPtr_
Cells this cell was refined into.
refinementHistory(const IOobject &)
Construct (read) given an IOobject.
virtual bool writeData(Ostream &) const
WriteData function required for regIOobject write operation.
Class containing mesh-to-mesh mapping information after a change in polyMesh topology.
Pair< int > faceMap(const label facePi, const face &faceP, const label faceNi, const face &faceN)
void combineCells(const label masterCelli, const labelList &combinedCells)
Store combining 8 cells into master.
A 1D vector of objects of type <T> that resizes itself as necessary to accept the new objects...
bool operator!=(const splitCell8 &rhs) const
Istream & operator>>(Istream &, directionInfo &)
void subset(const labelList &pointMap, const labelList &faceMap, const labelList &cellMap)
Update numbering for subsetting.
A list of pointers to objects of type <T>, without allocation/deallocation management of the pointers...
errorManip< error > abort(error &err)
An Ostream is an abstract base class for all output systems (streams, files, token lists...
virtual bool read()
Read object. If global number of visible cells > 0 becomes active.
virtual bool readData(Istream &)
ReadData function required for regIOobject read operation. Note:
const DynamicList< label > & freeSplitCells() const
Cache of unused indices in splitCells.
void compact()
Compact splitCells_. Removes all freeSplitCells_ elements.
void storeSplit(const label celli, const labelList &addedCells)
Store splitting of cell into 8.
friend Ostream & operator<<(Ostream &, const splitCell8 &)
void updateMesh(const mapPolyMesh &)
Update numbering for mesh changes.
void distribute(const mapDistributePolyMesh &)
Update local numbering for mesh redistribution.
const labelList & visibleCells() const
Per cell in the current mesh (i.e. visible) either -1 (unrefined) or an index into splitCells...
Ostream & operator<<(Ostream &, const boundaryPatch &p)
Write boundaryPatch as dictionary entries (without surrounding braces)
static void removeFiles(const polyMesh &)
Helper: remove all sets files from mesh instance.
void apply(const boolList &blockedFace, const PtrList< labelList > &specifiedProcessorFaces, const labelList &specifiedProcessor, const List< labelPair > &explicitConnections, labelList &decomposition) const
Apply any additional post-decomposition constraints.
A list of pointers to objects of type <T>, with allocation/deallocation management of the pointers...
label parentIndex(const label celli) const
Get parent of cell.
TypeName("refinementHistory")
regIOobject is an abstract class derived from IOobject to handle automatic object registration with t...
Pointer management similar to std::unique_ptr, with some additional methods and type checking...
Mesh consisting of general polyhedral cells.
List< label > labelList
A List of labels.
All refinement history. Used in unrefinement.
IOobject io("surfaceFilmProperties", mesh.time().constant(), mesh, IOobject::READ_IF_PRESENT, IOobject::NO_WRITE, IOobject::NO_REGISTER)
void add(boolList &blockedFace, PtrList< labelList > &specifiedProcessorFaces, labelList &specifiedProcessor, List< labelPair > &explicitConnections) const
Add my decomposition constraints.
void writeDebug() const
Debug write.
Defines the attributes of an object for which implicit objectRegistry management is supported...
void resize(const label nCells)
Extend/shrink storage. additional visibleCells_ elements get.
friend Istream & operator>>(Istream &, splitCell8 &)
friend Ostream & operator<<(Ostream &, const refinementHistory &)
friend Istream & operator>>(Istream &, refinementHistory &)
Istream operator. Note: does not do a reduction - does not set.