59 class polyTopoChangeMap;
60 class polyDistributionMap;
87 localUniformDimensionedScalarField level0Edge_;
130 label addInternalFace
133 const label meshFacei,
134 const label meshPointi,
152 scalar getLevel0EdgeLength()
const;
168 void getFaceNeighbours
190 void dumpCell(
const label celli)
const;
198 const bool searchForward,
199 const label wantedLevel
203 static void checkInternalOrientation
214 static void checkBoundaryOrientation
220 const point& boundaryPt,
243 label storeMidPointInfo
251 const bool faceOrder,
252 const label midPointi,
253 const label anchorPointi,
254 const label faceMidPointi,
262 void createInternalFromSplitFace
279 void createInternalFaces
314 label faceConsistentRefinement
321 void checkWantedRefinementLevels(
const labelList&)
const;
327 void collectLevelPoints
335 void collectLevelPoints
374 const scalar level0Edge = -great
384 const scalar level0Edge = -great
418 return level0Edge_.value();
453 const label maxFaceDiff,
456 const label maxPointDiff,
465 const label maxFaceDiff,
518 const bool validBoundary
526 virtual void reset();
529 virtual void clear();
539 const label maxPointDiff,
585 const bool write =
true
Templated abstract base-class for demand-driven mesh objects used to automate their allocation to the...
streamFormat
Enumeration for the format of data in the stream.
compressionType
Enumeration for the format of data in the stream.
A HashTable to objects of type <T> with a label key.
An auto-pointer similar to the STL auto_ptr but with automatic casting to a reference to the type and...
A face is a list of labels corresponding to mesh vertices.
A class for handling file names.
Refinement of (split) hexes using polyTopoChange.
void checkRefinementLevels(const label maxPointDiff, const labelList &pointsToCheck) const
Debug: Check 2:1 consistency across faces.
virtual bool movePoints()
Correct weighting factors for moving mesh.
labelList consistentSlowRefinement(const label maxFaceDiff, const labelList &cellsToRefine, const labelList &facesToCheck, const label maxPointDiff, const labelList &pointsToCheck) const
Like consistentRefinement but slower:
hexRef8(const polyMesh &mesh, const bool readHistory=true)
Construct from mesh, read_if_present refinement data.
void checkMesh() const
Debug: Check coupled mesh for correctness.
scalar level0EdgeLength() const
Typical edge length between unrefined points.
virtual bool writeObject(IOstream::streamFormat, IOstream::versionNumber, IOstream::compressionType, const bool write=true) const
Write using given format, version and compression.
labelListList setRefinement(const labelList &cells, polyTopoChange &)
Insert refinement. All selected cells will be split into 8.
virtual void topoChange(const polyTopoChangeMap &)
Update local numbering for changed mesh.
virtual void distribute(const polyDistributionMap &)
Update local numbering for mesh redistribution.
void operator=(const hexRef8 &)=delete
Disallow default bitwise assignment.
const cellShapeList & cellShapes() const
Utility: get hexes as cell shapes.
virtual void mapMesh(const polyMeshMap &)
Update from another mesh using the given map.
void setUnrefinement(const labelList &splitPointLabels, polyTopoChange &)
Remove some refinement. Needs to be supplied output of.
const refinementHistory & history() const
const labelIOList & cellLevel() const
const labelIOList & pointLevel() const
virtual void addPatch(const label patchi)
Inserted patch at patchi.
labelList consistentUnrefinement(const labelList &pointsToUnrefine, const bool maxSet) const
Given proposed.
labelList getSplitPoints() const
Return the points at the centre of top-level split cells.
label faceLevel(const label facei) const
Gets level such that the face has four points <= level.
virtual void clear()
Clear.
virtual void reset()
Reset.
virtual void reorderPatches(const labelUList &newToOld, const bool validBoundary)
Reordered/removed trailing patches.
labelList consistentRefinement(const labelList &cellsToRefine, const bool maxSet) const
Given valid mesh and current cell level and proposed.
const polyMesh & mesh() const
ClassName("hexRef8")
Runtime type information.
labelList consistentSlowRefinement2(const label maxFaceDiff, const labelList &cellsToRefine, const labelList &facesToCheck) const
Like consistentSlowRefinement but uses different meshWave.
void subset(const labelList &pointMap, const labelList &faceMap, const labelList &cellMap)
Update local numbering for subsetted mesh.
void setInstance(const fileName &inst)
Class containing mesh-to-mesh mapping information after a mesh distribution where we send parts of me...
Class containing mesh-to-mesh mapping information.
Mesh consisting of general polyhedral cells.
Class containing mesh-to-mesh mapping information after a change in polyMesh topology.
Direct mesh changes based on v1.3 polyTopoChange syntax.
Container with cells to refine. Refinement given as single direction.
All refinement history. Used in unrefinement.
virtual bool write(const bool write=true) const
Write using setting from DB.
Given list of faces to remove insert all the topology changes. Contains helper function to get consis...
intWM_LABEL_SIZE_t label
A label is an int32_t or int64_t as specified by the pre-processor macro WM_LABEL_SIZE.
Pair< int > faceMap(const label facePi, const face &faceP, const label faceNi, const face &faceN)