71 #ifndef refinementHistory_H
72 #define refinementHistory_H
88 class polyTopoChangeMap;
89 class polyDistributionMap;
94 class refinementHistory;
96 Istream&
operator>>(Istream&, refinementHistory&);
97 Ostream&
operator<<(Ostream&,
const refinementHistory&);
166 static void writeEntry
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,
A 1D vector of objects of type <T> that resizes itself as necessary to accept the new objects.
IOobject defines the attributes of an object for which implicit objectRegistry management is supporte...
autoPtr< IOobject > clone() const
Clone.
An Istream is an abstract base class for all input systems (streams, files, token lists etc)....
An Ostream is an abstract base class for all output systems (streams, files, token lists,...
A templated 1D list of pointers to objects of type <T>, where the size of the array is known and used...
A templated 1D list of pointers to objects of type <T>, where the size of the array is known and used...
An auto-pointer similar to the STL auto_ptr but with automatic casting to a reference to the type and...
Class containing mesh-to-mesh mapping information after a mesh distribution where we send parts of me...
Class containing mesh-to-mesh mapping information after a change in polyMesh topology.
splitCell8()
Construct null (parent = -1)
friend Ostream & operator<<(Ostream &, const splitCell8 &)
bool operator==(const splitCell8 &s) const
void operator=(const splitCell8 &s)
Copy operator since autoPtr otherwise 'steals' storage.
autoPtr< FixedList< label, 8 > > addedCellsPtr_
Cells this cell was refined into.
friend Istream & operator>>(Istream &, splitCell8 &)
bool operator!=(const splitCell8 &s) const
All refinement history. Used in unrefinement.
void compact()
Compact splitCells_. Removes all freeSplitCells_ elements.
const DynamicList< splitCell8 > & splitCells() const
Storage for splitCell8s.
label parentIndex(const label celli) const
Get parent of cell.
const labelList & visibleCells() const
Per cell in the current mesh (i.e. visible) either -1 (unrefined)
void writeDebug() const
Debug write.
virtual bool writeData(Ostream &) const
WriteData function required for regIOobject write operation.
void storeSplit(const label celli, const labelList &addedCells)
Store splitting of cell into 8.
friend Istream & operator>>(Istream &, refinementHistory &)
Istream operator. Note: does not do a reduction - does not set.
TypeName("refinementHistory")
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.
void topoChange(const polyTopoChangeMap &)
Update numbering for mesh changes.
void add(boolList &blockedFace, PtrList< labelList > &specifiedProcessorFaces, labelList &specifiedProcessor, List< labelPair > &explicitConnections) const
Add my decomposition constraints.
void distribute(const polyDistributionMap &)
Update local numbering for mesh redistribution.
void resize(const label nCells)
Extend/shrink storage. additional visibleCells_ elements get.
refinementHistory(const IOobject &)
Construct (read) given an IOobject. If global number of visible.
virtual bool readData(Istream &)
ReadData function required for regIOobject read operation. Note:
const DynamicList< label > & freeSplitCells() const
Cache of unused indices in splitCells.
friend Ostream & operator<<(Ostream &, const refinementHistory &)
bool active() const
Is there unrefinement history?
void subset(const labelList &pointMap, const labelList &faceMap, const labelList &cellMap)
Update numbering for subsetting.
virtual bool read()
Read object. If global number of visible cells > 0 becomes active.
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.
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.name(), cloud::prefix, mesh, IOobject::MUST_READ, IOobject::NO_WRITE))
intWM_LABEL_SIZE_t label
A label is an int32_t or int64_t as specified by the pre-processor macro WM_LABEL_SIZE.
errorManip< error > abort(error &err)
Istream & operator>>(Istream &, pistonPointEdgeData &)
Pair< int > faceMap(const label facePi, const face &faceP, const label faceNi, const face &faceN)
Ostream & operator<<(Ostream &os, const fvConstraints &constraints)