Go to the documentation of this file.
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 void checkIndices()
const;
182 label allocateSplitCell(
const label parent,
const label i);
185 void freeSplitCell(
const label index);
198 const label newProcNo,
206 void mark(
const label,
const label,
labelList&)
const;
210 label markCommonCells(
labelList& cellToCluster)
const;
271 return visibleCells_;
283 return freeSplitCells_;
301 label index = visibleCells_[celli];
306 <<
"Cell " << celli <<
" is not visible"
309 return splitCells_[index].parent_;
322 const label masterCelli,
365 void resize(
const label nCells);
417 Istream&
operator>>(Istream&, refinementHistory::splitCell8&);
418 Ostream&
operator<<(Ostream&,
const refinementHistory::splitCell8&);
const labelList & visibleCells() const
Defines the attributes of an object for which implicit objectRegistry management is supported,...
refinementHistory(const IOobject &)
Construct (read) given an IOobject.
Pair< int > faceMap(const label facePi, const face &faceP, const label faceNi, const face &faceN)
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.
virtual bool read()
Read object. If global number of visible cells > 0 becomes active.
A 1D vector of objects of type <T> that resizes itself as necessary to accept the new objects.
void storeSplit(const label celli, const labelList &addedCells)
Store splitting of cell into 8.
void compact()
Compact splitCells_. Removes all freeSplitCells_ elements.
bool active() const
Is there unrefinement history?
friend Ostream & operator<<(Ostream &, const refinementHistory &)
Istream & operator>>(Istream &, directionInfo &)
virtual bool writeData(Ostream &) const
WriteData function required for regIOobject write operation.
Mesh consisting of general polyhedral cells.
const DynamicList< label > & freeSplitCells() const
Cache of unused indices in splitCells.
bool operator!=(const splitCell8 &rhs) const
All refinement history. Used in unrefinement.
Ostream & operator<<(Ostream &, const boundaryPatch &p)
Write boundaryPatch as dictionary entries (without surrounding braces)
splitCell8()
Default construct (parent = -1)
void writeDebug() const
Debug write.
autoPtr< FixedList< label, 8 > > addedCellsPtr_
Cells this cell was refined into.
An Istream is an abstract base class for all input systems (streams, files, token lists etc)....
TypeName("refinementHistory")
A list of pointers to objects of type <T>, without allocation/deallocation management of the pointers...
autoPtr< IOobject > clone() const
Clone.
A list of pointers to objects of type <T>, with allocation/deallocation management of the pointers....
friend Istream & operator>>(Istream &, splitCell8 &)
void resize(const label nCells)
Extend/shrink storage. additional visibleCells_ elements get.
errorManip< error > abort(error &err)
static void removeFiles(const polyMesh &)
Helper: remove all sets files from mesh instance.
void operator=(const splitCell8 &rhs)
Copy assignment (no autoPtr stealing)
friend Istream & operator>>(Istream &, refinementHistory &)
Istream operator. Note: does not do a reduction - does not set.
virtual bool readData(Istream &)
ReadData function required for regIOobject read operation. Note:
Pointer management similar to std::unique_ptr, with some additional methods and type checking.
void combineCells(const label masterCelli, const labelList &combinedCells)
Store combining 8 cells into master.
regIOobject is an abstract class derived from IOobject to handle automatic object registration with t...
#define FatalErrorInFunction
Report an error message using Foam::FatalError.
void add(boolList &blockedFace, PtrList< labelList > &specifiedProcessorFaces, labelList &specifiedProcessor, List< labelPair > &explicitConnections) const
Add my decomposition constraints.
bool operator==(const splitCell8 &rhs) const
void subset(const labelList &pointMap, const labelList &faceMap, const labelList &cellMap)
Update numbering for subsetting.
Class containing mesh-to-mesh mapping information after a change in polyMesh topology.
const DynamicList< splitCell8 > & splitCells() const
Storage for splitCell8s.
void distribute(const mapDistributePolyMesh &)
Update local numbering for mesh redistribution.
void updateMesh(const mapPolyMesh &)
Update numbering for mesh changes.
An Ostream is an abstract base class for all output systems (streams, files, token lists,...
Class containing mesh-to-mesh mapping information after a mesh distribution where we send parts of me...
bool & active()
Is there unrefinement history?
label parentIndex(const label celli) const
Get parent of cell.
friend Ostream & operator<<(Ostream &, const splitCell8 &)