71 #ifndef refinementHistory_H 72 #define refinementHistory_H 89 class mapDistributePolyMesh;
94 class refinementHistory;
96 Istream&
operator>>(Istream&, refinementHistory&);
97 Ostream&
operator<<(Ostream&,
const refinementHistory&);
179 void checkIndices()
const;
185 void freeSplitCell(
const label index);
198 const label newProcNo,
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,
autoPtr< IOobject > clone() const
Clone.
intWM_LABEL_SIZE_t label
A label is an int32_t or int64_t as specified by the pre-processor macro WM_LABEL_SIZE.
const DynamicList< splitCell8 > & splitCells() const
Storage for splitCell8s.
#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()
Construct null (parent = -1)
autoPtr< FixedList< label, 8 > > addedCellsPtr_
Cells this cell was refined into.
refinementHistory(const IOobject &)
Construct (read) given an IOobject. If global number of visible.
bool operator==(const splitCell8 &s) const
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)
gmvFile<< "tracers "<< particles.size()<< nl;forAllConstIter(Cloud< passiveParticle >, particles, iter){ gmvFile<< iter().position().x()<< " ";}gmvFile<< nl;forAllConstIter(Cloud< passiveParticle >, particles, iter){ gmvFile<< iter().position().y()<< " ";}gmvFile<< nl;forAllConstIter(Cloud< passiveParticle >, particles, iter){ gmvFile<< iter().position().z()<< " ";}gmvFile<< nl;forAll(lagrangianScalarNames, i){ word name=lagrangianScalarNames[i];IOField< scalar > s(IOobject(name, runTime.timeName(), cloud::prefix, mesh, IOobject::MUST_READ, IOobject::NO_WRITE))
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...
Istream & operator>>(Istream &, directionInfo &)
void subset(const labelList &pointMap, const labelList &faceMap, const labelList &cellMap)
Update numbering for subsetting.
A templated 1D list of pointers to objects of type <T>, where the size of the array is known and used...
errorManip< error > abort(error &err)
An Ostream is an abstract base class for all output systems (streams, files, token lists...
bool operator!=(const splitCell8 &s) const
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.
void writeEntry(Ostream &os, const HashTable< T, Key, Hash > &ht)
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)
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 templated 1D list of pointers to objects of type <T>, where the size of the array is known and used...
void operator=(const splitCell8 &s)
Copy operator since autoPtr otherwise 'steals' storage.
label parentIndex(const label celli) const
Get parent of cell.
Ostream & operator<<(Ostream &, const ensightPart &)
TypeName("refinementHistory")
regIOobject is an abstract class derived from IOobject to handle automatic object registration with t...
An auto-pointer similar to the STL auto_ptr but with automatic casting to a reference to the type and...
All refinement history. Used in unrefinement.
void add(boolList &blockedFace, PtrList< labelList > &specifiedProcessorFaces, labelList &specifiedProcessor, List< labelPair > &explicitConnections) const
Add my decomposition constraints.
void writeDebug() const
Debug write.
IOobject defines the attributes of an object for which implicit objectRegistry management is supporte...
void resize(const label nCells)
Extend/shrink storage. additional visibleCells_ elements get.
friend Istream & operator>>(Istream &, splitCell8 &)