Go to the documentation of this file.
35 #ifndef meshOptimizer_H
36 #define meshOptimizer_H
114 const bool smoothOnlySurfaceNodes =
false
155 const label nIterations = 1
163 const label nIterations = 1
172 const label nIterations = 1
181 const label nIterations = 1
222 template<
class labelListType>
223 inline void lockCells(
const labelListType&);
230 template<
class labelListType>
231 inline void lockFaces(
const labelListType&);
238 template<
class labelListType>
257 const label maxNumGlobalIterations = 10,
258 const label maxNumIterations = 50,
259 const label maxNumSurfaceIterations = 2,
260 const bool relaxedCheck =
false
280 const label maxNumIterations = 10,
281 const label numLayersOfCells = 2
287 const label numLaplaceIterations = 5,
288 const label maxNumGlobalIterations = 10,
289 const label maxNumIterations = 50,
290 const label maxNumSurfaceIterations = 2
296 const label maxNumIterations = 50,
297 const scalar threshold = 0.1
void optimizeMeshFV(const label numLaplaceIterations=5, const label maxNumGlobalIterations=10, const label maxNumIterations=50, const label maxNumSurfaceIterations=2)
final optimisation
void laplacianPCParallel(const labelLongList &procPoints)
laplaceSmoother(const laplaceSmoother &)
Disallow default bitwise copy construct.
void lockCells(const labelListType &)
lock the cells which shall not be modified
void laplacianParallel(const labelLongList &procPoints, const bool smoothOnlySurfaceNodes=false)
void optimizeLowQualityFaces(const label maxNumIterations=10)
A class for handling words, derived from string.
void optimizeMeshNearBoundaries(const label maxNumIterations=10, const label numLayersOfCells=2)
Calculates surface of the mesh.
void untangleBoundaryLayer()
List< direction > vertexLocation_
location of vertex (internal, boundary, edge, corner)
void optimizeSurfaceLaplacian(const labelHashSet &badFaces, const label nIterations=1)
void lockPoints(const labelListType &)
lock points which shall not be moved
void lockCellsInSubset(const word &subsetName)
void laplacian(const labelLongList &, const label)
const List< direction > & vertexLocation_
location of vertex (internal, boundary, edge, corner)
void operator=(const meshOptimizer &)
Disallow default bitwise assignment.
polyMeshGen & mesh_
reference to the mesh
void lockFaces(const labelListType &)
lock the faces whih shall not be modified
bool enforceConstraints_
enforce constraints
void lockPointsInSubset(const word &subsetName)
void laplacianWPC(const labelLongList &, const label)
void laplacianWPCParallel(const labelLongList &procPoints)
intWM_LABEL_SIZE_t label
A label is an int32_t or int64_t as specified by the pre-processor macro WM_LABEL_SIZE.
label findLowQualityFaces(labelHashSet &, const boolList &) const
meshSurfaceEngine * msePtr_
mesh surface
void optimizeLaplacianPC(const label nIterations=1)
void lockFacesInSubset(const word &subsetName)
Mesh smoothing without any topological changes.
void optimizeLaplacianWPC(const label nIterations=1)
labelLongList lockedFaces_
locked faces which shall not be changed
void laplacianSurface(const labelLongList &, const label)
void laplacianPC(const labelLongList &, const label)
polyMeshGen & mesh_
reference to the mesh
meshOptimizer(const meshOptimizer &)
Disallow default bitwise copy construct.
void enforceConstraints(const word subsetName="badPoints")
word badPointsSubsetName_
name of the subset contaning tangled points
label findBadFaces(labelHashSet &, const boolList &) const
find problematic faces
void untangleMeshFV(const label maxNumGlobalIterations=10, const label maxNumIterations=50, const label maxNumSurfaceIterations=2, const bool relaxedCheck=false)
void optimizeLaplacian(const label nIterations=1)
new position is the average of the neighbouring vertices
void calculatePointLocations()
mark point locations
void optimizeBoundaryLayer(const bool addBufferLayer=true)
Octree for mesh generation.
void optimizeSurface(const meshOctree &)
smooth surface vertices
const meshSurfaceEngine & meshSurface() const
return mesh surface
void updateMeshGeometry(const labelLongList &smoothPoints)
update geometry after smoothing
void removeUserConstraints()
reset to default constraints
void optimizeMeshFVBestQuality(const label maxNumIterations=50, const scalar threshold=0.1)
greedy optimisation until the mesh can be improved
void operator=(const laplaceSmoother &)
Disallow default bitwise assignment.