Public Member Functions | Public Attributes | List of all members
CV2D Class Reference

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

Inheritance diagram for CV2D:
Inheritance graph
[legend]
Collaboration diagram for CV2D:
Collaboration graph
[legend]

Public Member Functions

 ClassName ("CV2D")
 
 CV2D (const Time &runTime, const dictionary &controlDict)
 
 ~CV2D ()
 
const cv2DControlsmeshControls () const
 
const point2DtoPoint2D (const Foam::point &) const
 
const point2DField toPoint2D (const pointField &) const
 
Foam::point toPoint3D (const point2D &) const
 
point2DFromPoint toPoint2D (const Point &) const
 
PointFromPoint2D toPoint (const point2D &) const
 
Foam::point toPoint3D (const Point &) const
 
void insertPoints (const point2DField &points, const scalar nearness)
 
void insertPoints (const fileName &pointFileName)
 
void insertGrid ()
 
void insertSurfacePointPairs ()
 
void boundaryConform ()
 
void removeSurfacePointPairs ()
 
void movePoint (const Vertex_handle &vh, const Point &P)
 
void newPoints ()
 
void extractPatches (wordList &patchNames, labelList &patchSizes, EdgeMap< label > &mapEdgesRegion, EdgeMap< label > &indirectPatchEdge) const
 
void writePoints (const fileName &fName, bool internalOnly) const
 
void writeTriangles (const fileName &fName, bool internalOnly) const
 
void writeFaces (const fileName &fName, bool internalOnly) const
 
void calcDual (point2DField &dualPoints, faceList &dualFaces, wordList &patchNames, labelList &patchSizes, EdgeMap< label > &mapEdgesRegion, EdgeMap< label > &indirectPatchEdge) const
 
void writePatch (const fileName &fName) const
 
void write () const
 

Public Attributes

const typedef point2Dpoint2DFromPoint
 
const typedef PointPointFromPoint2D
 

Detailed Description

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 using in insertGrid. minCellSize 0.05;

Feature angle used to insert 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;

Source files

Definition at line 142 of file CV2D.H.

Constructor & Destructor Documentation

◆ CV2D()

CV2D ( const Time runTime,
const dictionary controlDict 
)

◆ ~CV2D()

~CV2D ( )

Member Function Documentation

◆ ClassName()

ClassName ( "CV2D"  )

◆ meshControls()

const Foam::cv2DControls & meshControls ( ) const
inline

Definition at line 112 of file CV2DI.H.

◆ toPoint2D() [1/3]

const Foam::point2D & toPoint2D ( const Foam::point p) const
inline

Definition at line 118 of file CV2DI.H.

References p.

◆ toPoint2D() [2/3]

const Foam::point2DField toPoint2D ( const pointField p) const
inline

Definition at line 124 of file CV2DI.H.

References forAll, p, x, and y.

◆ toPoint3D() [1/2]

Foam::point toPoint3D ( const point2D p) const
inline

Definition at line 135 of file CV2DI.H.

References p.

◆ toPoint2D() [3/3]

Foam::CV2D::point2DFromPoint toPoint2D ( const Point P) const
inline

Definition at line 156 of file CV2DI.H.

◆ toPoint()

Foam::CV2D::PointFromPoint2D toPoint ( const point2D p) const
inline

Definition at line 162 of file CV2DI.H.

References p.

◆ toPoint3D() [2/2]

Foam::point toPoint3D ( const Point P) const
inline

Definition at line 170 of file CV2DI.H.

◆ insertPoints() [1/2]

void insertPoints ( const point2DField points,
const scalar  nearness 
)

◆ insertPoints() [2/2]

void insertPoints ( const fileName pointFileName)

◆ insertGrid()

void insertGrid ( )

◆ insertSurfacePointPairs()

void insertSurfacePointPairs ( )

◆ boundaryConform()

void boundaryConform ( )

◆ removeSurfacePointPairs()

void removeSurfacePointPairs ( )

◆ movePoint()

void movePoint ( const Vertex_handle &  vh,
const Point P 
)
inline

Definition at line 176 of file CV2DI.H.

References insert().

Here is the call graph for this function:

◆ newPoints()

void newPoints ( )

◆ extractPatches()

void extractPatches ( wordList patchNames,
labelList patchSizes,
EdgeMap< label > &  mapEdgesRegion,
EdgeMap< label > &  indirectPatchEdge 
) const

◆ writePoints()

void writePoints ( const fileName fName,
bool  internalOnly 
) const

◆ writeTriangles()

void writeTriangles ( const fileName fName,
bool  internalOnly 
) const

◆ writeFaces()

void writeFaces ( const fileName fName,
bool  internalOnly 
) const

◆ calcDual()

void calcDual ( point2DField dualPoints,
faceList dualFaces,
wordList patchNames,
labelList patchSizes,
EdgeMap< label > &  mapEdgesRegion,
EdgeMap< label > &  indirectPatchEdge 
) const

◆ writePatch()

void writePatch ( const fileName fName) const

◆ write()

void write ( ) const

Member Data Documentation

◆ point2DFromPoint

const typedef point2D& point2DFromPoint

Definition at line 352 of file CV2D.H.

◆ PointFromPoint2D

const typedef Point& PointFromPoint2D

Definition at line 353 of file CV2D.H.


The documentation for this class was generated from the following files: