Conformal-Voronoi 2D automatic mesher with grid or read initial points and point position relaxation with optional "squarification". More...


Public Types | |
| typedef const point2D & | point2DFromPoint |
| typedef const Point & | PointFromPoint2D |
Public Member Functions | |
| ClassName ("CV2D") | |
| Runtime type information. More... | |
| CV2D (const Time &runTime, const dictionary &controlDict) | |
| Construct for given surface. More... | |
| ~CV2D () | |
| Destructor. More... | |
| const cv2DControls & | meshControls () const |
| const point2D & | toPoint2D (const point &) const |
| const point2DField | toPoint2D (const pointField &) const |
| point | toPoint3D (const point2D &) const |
| point2DFromPoint | toPoint2D (const Point &) const |
| PointFromPoint2D | toPoint (const point2D &) const |
| point | toPoint3D (const Point &) const |
| void | insertPoints (const point2DField &points, const scalar nearness) |
| Create the initial mesh from the given internal points. More... | |
| void | insertPoints (const fileName &pointFileName) |
| Create the initial mesh from the internal points in the given. More... | |
| void | insertGrid () |
| Create the initial mesh as a regular grid of points. More... | |
| void | insertSurfacePointPairs () |
| Insert all surface point-pairs from. More... | |
| void | boundaryConform () |
| Insert point-pairs where there are protrusions into. More... | |
| void | removeSurfacePointPairs () |
| Remove the point-pairs introduced by insertSurfacePointPairs. More... | |
| void | movePoint (const Vertex_handle &vh, const Point &P) |
| void | newPoints () |
| Move the internal points to the given new locations and update. More... | |
| void | extractPatches (wordList &patchNames, labelList &patchSizes, EdgeMap< label > &mapEdgesRegion, EdgeMap< label > &indirectPatchEdge) const |
| Extract patch names and sizes. More... | |
| void | writePoints (const fileName &fName, bool internalOnly) const |
| Write internal points to .obj file. More... | |
| void | writeTriangles (const fileName &fName, bool internalOnly) const |
| Write triangles as .obj file. More... | |
| void | writeFaces (const fileName &fName, bool internalOnly) const |
| Write dual faces as .obj file. More... | |
| void | calcDual (point2DField &dualPoints, faceList &dualFaces, wordList &patchNames, labelList &patchSizes, EdgeMap< label > &mapEdgesRegion, EdgeMap< label > &indirectPatchEdge) const |
| Calculates dual points (circumcentres of tets) and faces. More... | |
| void | writePatch (const fileName &fName) const |
| Write patch. More... | |
| void | write () const |
Conformal-Voronoi 2D automatic mesher with grid or read initial points and point position relaxation with optional "squarification".
There are a substantial number of options to this mesher read from CV2DMesherDict file e.g.:
Min cell size used in tolerances when inserting points for boundary conforming. Also used to as the grid spacing usind in insertGrid. minCellSize 0.05;
Feature angle used to inser feature points 0 = all features, 180 = no features featureAngle 45;
Maximum quadrant angle allowed at a concave corner before additional "mitering" lines are added maxQuadAngle 110;
Should the mesh be square-dominated or of unbiased hexagons squares yes;
Near-wall region where cells are aligned with the wall specified as a number of cell layers nearWallAlignedDist 3;
Chose if the cell orientation should relax during the iterations or remain fixed to the x-y directions relaxOrientation no;
Insert near-boundary point mirror or point-pairs insertSurfaceNearestPointPairs yes;
Mirror near-boundary points rather than insert point-pairs mirrorPoints no;
Insert point-pairs vor dual-cell vertices very near the surface insertSurfaceNearPointPairs yes;
Choose if to randomise the initial grid created by insertGrid. randomiseInitialGrid yes;
Perturbation fraction, 1 = cell-size. randomPurturbation 0.1;
Number of relaxation iterations. nIterations 5;
Relaxation factor at the start of the iteration sequence. 0.5 is a sensible maximum and < 0.2 converges better. relaxationFactorStart 0.8;
Relaxation factor at the end of the iteration sequence. Should be <= relaxationFactorStart relaxationFactorEnd 0;
writeInitialTriangulation no; writeFeatureTriangulation no; writeNearestTriangulation no; writeInsertedPointPairs no; writeFinalTriangulation yes;
Maximum number of iterations used in boundaryConform. maxBoundaryConformingIter 5;
minEdgeLenCoeff 0.5; maxNotchLenCoeff 0.3; minNearPointDistCoeff 0.25; ppDistCoeff 0.05;
| typedef const point2D& point2DFromPoint |
| typedef const Point& PointFromPoint2D |
| CV2D | ( | const Time & | runTime, |
| const dictionary & | controlDict | ||
| ) |
Construct for given surface.
| ~CV2D | ( | ) |
Destructor.
| ClassName | ( | "CV2D" | ) |
Runtime type information.
|
inline |
|
inline |
Definition at line 124 of file CV2DI.H.
References p.
Referenced by CV2D::toPoint3D().

|
inline |
|
inline |
Definition at line 141 of file CV2DI.H.
References p, CV2D::toPoint(), CV2D::toPoint2D(), Vector2D< Cmpt >::x(), and Vector2D< Cmpt >::y().

|
inline |
|
inline |
Definition at line 168 of file CV2DI.H.
References Vector2D< Cmpt >::x(), and Vector2D< Cmpt >::y().
Referenced by CV2D::toPoint3D().


|
inline |
| void insertPoints | ( | const point2DField & | points, |
| const scalar | nearness | ||
| ) |
Create the initial mesh from the given internal points.
Points must be inside the boundary by at least nearness otherwise they are ignored.
| void insertPoints | ( | const fileName & | pointFileName | ) |
Create the initial mesh from the internal points in the given.
file. Points outside the geometry are ignored.
| void insertGrid | ( | ) |
Create the initial mesh as a regular grid of points.
Points outside the geometry are ignored.
| void insertSurfacePointPairs | ( | ) |
Insert all surface point-pairs from.
insertSurfaceNearestPointPairs and findIntersectionForOutsideCentroid
| void boundaryConform | ( | ) |
Insert point-pairs where there are protrusions into.
or out of the surface
| void removeSurfacePointPairs | ( | ) |
Remove the point-pairs introduced by insertSurfacePointPairs.
and boundaryConform
|
inline |
| void newPoints | ( | ) |
Move the internal points to the given new locations and update.
the triangulation to ensure it is Delaunay void moveInternalPoints(const point2DField& newPoints);Calculate the displacements to create the new points
| void extractPatches | ( | wordList & | patchNames, |
| labelList & | patchSizes, | ||
| EdgeMap< label > & | mapEdgesRegion, | ||
| EdgeMap< label > & | indirectPatchEdge | ||
| ) | const |
Extract patch names and sizes.
| void writePoints | ( | const fileName & | fName, |
| bool | internalOnly | ||
| ) | const |
Write internal points to .obj file.
| void writeTriangles | ( | const fileName & | fName, |
| bool | internalOnly | ||
| ) | const |
Write triangles as .obj file.
| void writeFaces | ( | const fileName & | fName, |
| bool | internalOnly | ||
| ) | const |
Write dual faces as .obj file.
| void calcDual | ( | point2DField & | dualPoints, |
| faceList & | dualFaces, | ||
| wordList & | patchNames, | ||
| labelList & | patchSizes, | ||
| EdgeMap< label > & | mapEdgesRegion, | ||
| EdgeMap< label > & | indirectPatchEdge | ||
| ) | const |
Calculates dual points (circumcentres of tets) and faces.
(point-cell walk of tets). Returns:
| void writePatch | ( | const fileName & | fName | ) | const |
Write patch.
| void write | ( | ) | const |
1.8.11