Public Types | Public Member Functions | Static Public Member Functions | Static Public Attributes | Private Member Functions | Private Attributes | Static Private Attributes
conformalVoronoiMesh Class Reference
Inheritance diagram for conformalVoronoiMesh:
Inheritance graph
[legend]
Collaboration diagram for conformalVoronoiMesh:
Collaboration graph
[legend]

Public Types

enum  dualMeshPointType {
  internal = 0, surface = 1, featureEdge = 2, featurePoint = 3,
  constrained = 4
}
 
typedef Delaunay::Vertex_handle Vertex_handle
 
typedef Delaunay::Cell_handle Cell_handle
 
typedef Delaunay::Edge Edge
 
typedef Delaunay::Facet Facet
 
typedef Delaunay::Point Point
 
typedef List< DynamicList< Pair< labelPair > > > labelPairPairDynListList
 
typedef Tuple2< pointIndexHit, labelpointIndexHitAndFeature
 
typedef List< pointIndexHitAndFeaturepointIndexHitAndFeatureList
 
typedef DynamicList< pointIndexHitAndFeaturepointIndexHitAndFeatureDynList
 
- Public Types inherited from DistributedDelaunayMesh< Delaunay >
typedef Delaunay ::Vertex_handle Vertex_handle
 
typedef Delaunay ::Cell_handle Cell_handle
 
typedef Delaunay ::Point Point
 
typedef Delaunay ::Finite_vertices_iterator Finite_vertices_iterator
 
typedef Delaunay ::Finite_cells_iterator Finite_cells_iterator
 
typedef Delaunay ::All_cells_iterator All_cells_iterator
 
typedef DelaunayMesh< Delaunay >::labelPairHashSet labelPairHashSet
 
- Public Types inherited from DelaunayMesh< Delaunay >
typedef Delaunay ::Cell_handle Cell_handle
 
typedef Delaunay ::Vertex_handle Vertex_handle
 
typedef Delaunay ::Edge Edge
 
typedef Delaunay ::Point Point
 
typedef Delaunay ::Facet Facet
 
typedef Delaunay ::Finite_vertices_iterator Finite_vertices_iterator
 
typedef Delaunay ::Finite_cells_iterator Finite_cells_iterator
 
typedef Delaunay ::Finite_facets_iterator Finite_facets_iterator
 
typedef HashSet< Pair< label >, FixedList< label, 2 >::Hash<> > labelPairHashSet
 
typedef HashTable< label, labelPair, FixedList< label, 2 >::Hash<> > labelTolabelPairHashTable
 

Public Member Functions

 ClassName ("conformalVoronoiMesh")
 Runtime type information. More...
 
 conformalVoronoiMesh (const Time &runTime, const dictionary &foamyHexMeshDict, const fileName &decompDictFile="")
 Construct from Time and foamyHexMeshDict. More...
 
 ~conformalVoronoiMesh ()
 Destructor. More...
 
void initialiseForMotion ()
 
void initialiseForConformation ()
 
void move ()
 Move the vertices according to the controller, re-conforming to the. More...
 
const Timetime () const
 Return the Time object. More...
 
RandomrndGen () const
 Return the random number generator. More...
 
const searchableSurfacesallGeometry () const
 Return the allGeometry object. More...
 
const conformationSurfacesgeometryToConformTo () const
 Return the conformationSurfaces object. More...
 
const backgroundMeshDecompositiondecomposition () const
 Return the backgroundMeshDecomposition. More...
 
const cellShapeControlcellShapeControls () const
 Return the cellShapeControl object. More...
 
const cvControlsfoamyHexMeshControls () const
 Return the foamyHexMeshControls object. More...
 
scalar pointPairDistance (const Foam::point &pt) const
 Return the local point pair separation at the given location. More...
 
scalar mixedFeaturePointDistance (const Foam::point &pt) const
 Return the local mixed feature point placement distance. More...
 
scalar featurePointExclusionDistanceSqr (const Foam::point &pt) const
 Return the square of the local feature point exclusion distance. More...
 
scalar featureEdgeExclusionDistanceSqr (const Foam::point &pt) const
 Return the square of the local feature edge exclusion distance. More...
 
scalar surfacePtExclusionDistanceSqr (const Foam::point &pt) const
 Return the square of the local surface point exclusion distance. More...
 
scalar surfaceSearchDistanceSqr (const Foam::point &pt) const
 Return the square of the local surface search distance. More...
 
scalar maxSurfaceProtrusion (const Foam::point &pt) const
 Return the local maximum surface protrusion distance. More...
 
void createEdgePointGroup (const extendedFeatureEdgeMesh &feMesh, const pointIndexHit &edHit, DynamicList< Vb > &pts) const
 Call the appropriate function to conform to an edge. More...
 
void timeCheck (const string &description=string::null) const
 
void writeMesh (const fileName &instance)
 Prepare data and call writeMesh for polyMesh and. More...
 
void writeMesh (const word &meshName, const fileName &instance, pointField &points, labelList &boundaryPts, faceList &faces, labelList &owner, labelList &neighbour, const wordList &patchNames, const PtrList< dictionary > &patchDicts, const pointField &cellCentres, PackedBoolList &boundaryFacesToRemove) const
 Write mesh to disk. More...
 
void writeCellSizes (const fvMesh &mesh) const
 Calculate and write a field of the target cell size,. More...
 
void writeCellAlignments (const fvMesh &mesh) const
 
void writeCellCentres (const fvMesh &mesh) const
 Calculate and write the cell centres. More...
 
labelHashSet findRemainingProtrusionSet (const polyMesh &mesh) const
 Find the cellSet of the boundary cells which have points that. More...
 
- Public Member Functions inherited from DistributedDelaunayMesh< Delaunay >
 DistributedDelaunayMesh (const Time &runTime)
 Construct from components. More...
 
 DistributedDelaunayMesh (const Time &runTime, const word &meshName)
 
 ~DistributedDelaunayMesh ()
 Destructor. More...
 
scalar calculateLoadUnbalance () const
 
bool distribute (const boundBox &bb)
 
autoPtr< mapDistributedistribute (const backgroundMeshDecomposition &decomposition, List< Foam::point > &points)
 
void sync (const boundBox &bb)
 Refer vertices so that the processor interfaces are consistent. More...
 
void sync (const boundBox &bb, PtrList< labelPairHashSet > &referralVertices, labelPairHashSet &receivedVertices, bool iterateReferral=true)
 Refer vertices so that the processor interfaces are consistent. More...
 
labelPairHashSet rangeInsertReferredWithInfo (PointIterator begin, PointIterator end, bool printErrors=true)
 Inserts points into the triangulation if the point is within. More...
 
- Public Member Functions inherited from DelaunayMesh< Delaunay >
 DelaunayMesh (const Time &runTime)
 Construct from components. More...
 
 DelaunayMesh (const Time &runTime, const word &meshName)
 
 ~DelaunayMesh ()
 Destructor. More...
 
const Timetime () const
 Return a reference to the Time object. More...
 
void timeCheck (const string &description, const bool check=true) const
 Write the cpuTime to screen. More...
 
label getNewCellIndex () const
 Create a new unique cell index and return. More...
 
label getNewVertexIndex () const
 Create a new unique vertex index and return. More...
 
label cellCount () const
 Return the cell count (the next unique cell index) More...
 
label vertexCount () const
 Return the vertex count (the next unique vertex index) More...
 
void resetCellCount ()
 Set the cell count to zero. More...
 
void resetVertexCount ()
 Set the vertex count to zero. More...
 
void reset ()
 Clear the entire triangulation. More...
 
Map< labelinsertPoints (const List< Vb > &vertices, const bool reIndex)
 Insert the list of vertices (calls rangeInsertWithInfo) More...
 
Map< labelrangeInsertWithInfo (PointIterator begin, PointIterator end, bool printErrors=false, bool reIndex=true)
 Function inserting points into a triangulation and setting the. More...
 
void printInfo (Ostream &os) const
 Write mesh statistics to stream. More...
 
void printVertexInfo (Ostream &os) const
 Write vertex statistics in the form of a table to stream. More...
 
autoPtr< polyMeshcreateMesh (const fileName &name, labelTolabelPairHashTable &vertexMap, labelList &cellMap, const bool writeDelaunayData=true) const
 Create an fvMesh from the triangulation. More...
 

Static Public Member Functions

static void timeCheck (const Time &runTime, const string &description=string::null, const bool check=true)
 Write the elapsedCpuTime and memory usage, with an optional. More...
 
- Static Public Member Functions inherited from DistributedDelaunayMesh< Delaunay >
static autoPtr< mapDistributebuildMap (const List< label > &toProc)
 Build a mapDistribute for the supplied destination processor data. More...
 

Static Public Attributes

static const NamedEnum< dualMeshPointType, 5 > dualMeshPointTypeNames_
 

Private Member Functions

scalar defaultCellSize () const
 
scalar targetCellSize (const Foam::point &pt) const
 Return the local target cell size at the given location. Takes. More...
 
scalar averageAnyCellSize (const Vertex_handle &vA, const Vertex_handle &vB) const
 Return the target cell size from that stored on a pair of. More...
 
scalar averageAnyCellSize (const Delaunay::Finite_facets_iterator &fit) const
 The average target cell size of a Delaunay facet, i.e., of. More...
 
void insertInternalPoints (List< Point > &points, const bool distribute=false)
 Insert Delaunay vertices using the CGAL range insertion method,. More...
 
Map< labelinsertPointPairs (List< Vb > &vertices, bool distribute, bool reIndex)
 
void createPointPair (const scalar ppDist, const Foam::point &surfPt, const vector &n, const bool ptPair, DynamicList< Vb > &pts) const
 Create a point-pair at a ppDist distance either side of. More...
 
Foam::point perturbPoint (const Foam::point &pt) const
 
void createBafflePointPair (const scalar ppDist, const Foam::point &surfPt, const vector &n, const bool ptPair, DynamicList< Vb > &pts) const
 Create a point-pair at a ppDist distance either side of. More...
 
bool internalPointIsInside (const Foam::point &pt) const
 Check internal point is completely inside the meshable region. More...
 
void insertSurfacePointPairs (const pointIndexHitAndFeatureList &surfaceHits, const fileName fName, DynamicList< Vb > &pts)
 Insert pairs of points on the surface with the given normals, at the. More...
 
void insertEdgePointGroups (const pointIndexHitAndFeatureList &edgeHits, const fileName fName, DynamicList< Vb > &pts)
 Insert groups of points to conform to an edge given a list of. More...
 
void createEdgePointGroupByCirculating (const extendedFeatureEdgeMesh &feMesh, const pointIndexHit &edHit, DynamicList< Vb > &pts) const
 
bool meshableRegion (const plane::side side, const extendedFeatureEdgeMesh::sideVolumeType volType) const
 
bool regionIsInside (const extendedFeatureEdgeMesh::sideVolumeType volTypeA, const vector &normalA, const extendedFeatureEdgeMesh::sideVolumeType volTypeB, const vector &normalB, const vector &masterPtVec) const
 
void createExternalEdgePointGroup (const extendedFeatureEdgeMesh &feMesh, const pointIndexHit &edHit, DynamicList< Vb > &pts) const
 Create points to conform to an external edge. More...
 
void createInternalEdgePointGroup (const extendedFeatureEdgeMesh &feMesh, const pointIndexHit &edHit, DynamicList< Vb > &pts) const
 Create points to conform to an internal edge. More...
 
void createFlatEdgePointGroup (const extendedFeatureEdgeMesh &feMesh, const pointIndexHit &edHit, DynamicList< Vb > &pts) const
 Create points to conform to a flat edge. More...
 
void createOpenEdgePointGroup (const extendedFeatureEdgeMesh &feMesh, const pointIndexHit &edHit, DynamicList< Vb > &pts) const
 Create points to conform to an open edge. More...
 
void createMultipleEdgePointGroup (const extendedFeatureEdgeMesh &feMesh, const pointIndexHit &edHit, DynamicList< Vb > &pts) const
 Create points to conform to multiply connected edge. More...
 
void insertFeaturePoints (bool distribute=false)
 Determine and insert point groups at the feature points. More...
 
bool nearFeaturePt (const Foam::point &pt) const
 Check if a location is in exclusion range around a feature point. More...
 
bool surfacePtNearFeatureEdge (const Foam::point &pt) const
 Check if a surface point is in exclusion range around a feature edge. More...
 
void insertInitialPoints ()
 Insert the initial points into the triangulation, based on the. More...
 
template<class Triangulation >
bool distributeBackground (const Triangulation &mesh)
 In parallel redistribute the backgroundMeshDecomposition and. More...
 
void cellSizeMeshOverlapsBackground () const
 
void distribute ()
 
void buildCellSizeAndAlignmentMesh ()
 
void setVertexSizeAndAlignment ()
 Set the size and alignment data for each vertex. More...
 
face buildDualFace (const Delaunay::Finite_edges_iterator &eit) const
 Builds a dual face by circulating around the supplied edge. More...
 
boolList dualFaceBoundaryPoints (const Delaunay::Finite_edges_iterator &eit) const
 
label maxFilterCount (const Delaunay::Finite_edges_iterator &eit) const
 Finds the maximum filterCount of the dual vertices. More...
 
bool ownerAndNeighbour (Vertex_handle vA, Vertex_handle vB, label &owner, label &neighbour) const
 Determines the owner and neighbour labels for dual cells. More...
 
void conformToSurface ()
 Insert the necessary point pairs to conform to the surface, either. More...
 
bool reconformToSurface () const
 Decision making function for when to rebuild the surface. More...
 
label findVerticesNearBoundaries ()
 Determines geometrically whether a vertex is close to a surface. More...
 
void buildSurfaceConformation ()
 Create and insert the necessary point pairs to conform to the. More...
 
label synchroniseEdgeTrees (const DynamicList< label > &edgeToTreeShape, pointIndexHitAndFeatureList &featureEdgeHits)
 
label synchroniseSurfaceTrees (const DynamicList< label > &surfaceToTreeShape, pointIndexHitAndFeatureList &surfaceHits)
 
bool surfaceLocationConformsToInside (const pointIndexHitAndFeature &info) const
 
bool dualCellSurfaceAnyIntersection (const Delaunay::Finite_vertices_iterator &vit) const
 Check to see if dual cell specified by given vertex iterator. More...
 
bool dualCellSurfaceAllIntersections (const Delaunay::Finite_vertices_iterator &vit, pointIndexHitAndFeatureDynList &info) const
 Return all intersections. More...
 
bool clipLineToProc (const Foam::point &pt, Foam::point &a, Foam::point &b) const
 Return false if the line is entirely outside the current processor. More...
 
void dualCellLargestSurfaceProtrusion (const Delaunay::Finite_vertices_iterator &vit, pointIndexHit &surfHit, label &hitSurface) const
 Find the "worst" protrusion of a dual cell through the surface,. More...
 
void dualCellLargestSurfaceIncursion (const Delaunay::Finite_vertices_iterator &vit, pointIndexHit &surfHit, label &hitSurface) const
 
void reportProcessorOccupancy ()
 Write out vertex-processor occupancy information for debugging. More...
 
void limitDisplacement (const Delaunay::Finite_vertices_iterator &vit, vector &displacement, label callCount=0) const
 Write out debugging information about the surface conformation. More...
 
scalar angleBetweenSurfacePoints (Foam::point pA, Foam::point pB) const
 Find angle between the normals of two close surface points. More...
 
bool nearSurfacePoint (pointIndexHitAndFeature &pHit) const
 Check if a surface point is near another. More...
 
bool appendToSurfacePtTree (const Foam::point &pt) const
 Append a point to the surface point tree and the existing list. More...
 
bool appendToEdgeLocationTree (const Foam::point &pt) const
 Append a point to the edge location tree and the existing list. More...
 
List< pointIndexHitnearestFeatureEdgeLocations (const Foam::point &pt) const
 Return a list of the nearest feature edge locations. More...
 
bool pointIsNearFeatureEdgeLocation (const Foam::point &pt) const
 Check if a point is near any feature edge points. More...
 
bool pointIsNearFeatureEdgeLocation (const Foam::point &pt, pointIndexHit &info) const
 
bool pointIsNearSurfaceLocation (const Foam::point &pt) const
 Check if a point is near any surface conformation points. More...
 
bool pointIsNearSurfaceLocation (const Foam::point &pt, pointIndexHit &info) const
 
bool nearFeatureEdgeLocation (const pointIndexHit &pHit, pointIndexHit &nearestEdgeHit) const
 Check if a location is in the exclusion range of an existing feature. More...
 
void buildEdgeLocationTree (const DynamicList< Foam::point > &existingEdgeLocations) const
 Build or rebuild the edge location tree. More...
 
void buildSurfacePtLocationTree (const DynamicList< Foam::point > &existingSurfacePtLocations) const
 Build or rebuild the surface point location tree. More...
 
void addSurfaceAndEdgeHits (const Foam::point &vit, const pointIndexHitAndFeatureDynList &surfaceIntersections, scalar surfacePtReplaceDistCoeffSqr, scalar edgeSearchDistCoeffSqr, pointIndexHitAndFeatureDynList &surfaceHits, pointIndexHitAndFeatureDynList &featureEdgeHits, DynamicList< label > &surfaceToTreeShape, DynamicList< label > &edgeToTreeShape, Map< scalar > &surfacePtToEdgePtDist, bool firstPass) const
 Process the surface conformation locations to decide which surface. More...
 
void storeSurfaceConformation ()
 Store the surface conformation with the indices offset to be. More...
 
void reinsertSurfaceConformation ()
 Reinsert the surface conformation re-offsetting indices to be. More...
 
void checkCells ()
 
void checkDuals ()
 
void checkVertices ()
 
void checkCoPlanarCells () const
 
void calcDualMesh (pointField &points, labelList &boundaryPts, faceList &faces, labelList &owner, labelList &neighbour, wordList &patchNames, PtrList< dictionary > &patchDicts, pointField &cellCentres, labelList &cellToDelaunayVertex, labelListList &patchToDelaunayVertex, PackedBoolList &boundaryFacesToRemove)
 Dual calculation. More...
 
void calcNeighbourCellCentres (const polyMesh &mesh, const pointField &cellCentres, pointField &neiCc) const
 
void selectSeparatedCoupledFaces (const polyMesh &mesh, boolList &selected) const
 
void findCellZoneInsideWalk (const polyMesh &mesh, const labelList &locationSurfaces, const labelList &faceToSurface, labelList &cellToSurface) const
 From meshRefinementBaffles.C. Use insidePoint for a surface to. More...
 
labelList calcCellZones (const pointField &cellCentres) const
 Calculate the cell zones from cellCentres using all closed surfaces. More...
 
void calcFaceZones (const polyMesh &mesh, const pointField &cellCentres, const labelList &cellToSurface, labelList &faceToSurface, boolList &flipMap) const
 Calculate the face zones. More...
 
void addZones (polyMesh &mesh, const pointField &cellCentres) const
 Add zones to the polyMesh. More...
 
void calcTetMesh (pointField &points, labelList &pointToDelaunayVertex, faceList &faces, labelList &owner, labelList &neighbour, wordList &patchNames, PtrList< dictionary > &patchDicts)
 Tet mesh calculation. More...
 
bool isBoundaryDualFace (const Delaunay::Finite_edges_iterator &eit) const
 Determines if the dual face constructed by the Delaunay. More...
 
List< labelprocessorsAttached (const Delaunay::Finite_facets_iterator &fit) const
 Which processors are attached to the dual edge represented by this. More...
 
bool isParallelDualEdge (const Delaunay::Finite_facets_iterator &fit) const
 Determines if the edge constructed from the face is on. More...
 
bool isProcBoundaryEdge (const Delaunay::Finite_edges_iterator &eit) const
 Determines if the dual face constructed by the Delaunay. More...
 
void mergeIdenticalDualVertices (const pointField &pts, labelList &boundaryPts)
 Merge vertices that are identical. More...
 
label mergeIdenticalDualVertices (const pointField &pts, Map< label > &dualPtIndexMap) const
 
void deferredCollapseFaceSet (labelList &owner, labelList &neighbour, const HashSet< labelPair, labelPair::Hash<> > &deferredCollapseFaces) const
 Identify the face labels of the deferred collapse faces. More...
 
void checkCellSizing ()
 Check whether the cell sizes are fine enough. Creates a polyMesh. More...
 
labelHashSet findOffsetPatchFaces (const polyMesh &mesh, const scalar allowedOffset) const
 Find all cells with a patch face that is not near the surface. The. More...
 
labelHashSet checkPolyMeshQuality (const pointField &pts) const
 Create a polyMesh and check its quality, reports which. More...
 
label classifyBoundaryPoint (Cell_handle cit) const
 
void indexDualVertices (pointField &pts, labelList &boundaryPts)
 Index all of the the Delaunay cells and calculate their dual points. More...
 
void reindexDualVertices (const Map< label > &dualPtIndexMap, labelList &boundaryPts)
 Re-index all of the Delaunay cells. More...
 
label createPatchInfo (wordList &patchNames, PtrList< dictionary > &patchDicts) const
 
vector calcSharedPatchNormal (Cell_handle c1, Cell_handle c2) const
 
bool boundaryDualFace (Cell_handle c1, Cell_handle c2) const
 
void createFacesOwnerNeighbourAndPatches (const pointField &pts, faceList &faces, labelList &owner, labelList &neighbour, wordList &patchNames, PtrList< dictionary > &patchDicts, labelListList &patchPointPairSlaves, PackedBoolList &boundaryFacesToRemove, bool includeEmptyPatches=false) const
 Create all of the internal and boundary faces. More...
 
void sortFaces (faceList &faces, labelList &owner, labelList &neighbour) const
 Sort the faces, owner and neighbour lists into. More...
 
void sortProcPatches (List< DynamicList< face > > &patchFaces, List< DynamicList< label > > &patchOwners, List< DynamicList< label > > &patchPointPairSlaves, labelPairPairDynListList &patchSortingIndices) const
 Sort the processor patches so that the faces are in the same order. More...
 
void addPatches (const label nInternalFaces, faceList &faces, labelList &owner, PtrList< dictionary > &patchDicts, PackedBoolList &boundaryFacesToRemove, const List< DynamicList< face > > &patchFaces, const List< DynamicList< label > > &patchOwners, const List< DynamicList< bool > > &indirectPatchFace) const
 Add the faces and owner information for the patches. More...
 
void removeUnusedPoints (faceList &faces, pointField &pts, labelList &boundaryPts) const
 Remove points that are no longer used by any faces. More...
 
labelList removeUnusedCells (labelList &owner, labelList &neighbour) const
 Remove dual cells that are not used by any faces. Return compaction. More...
 
autoPtr< fvMeshcreateDummyMesh (const IOobject &io, const wordList &patchNames, const PtrList< dictionary > &patchDicts) const
 Create an empty fvMesh. More...
 
autoPtr< polyMeshcreatePolyMeshFromPoints (const pointField &pts) const
 Create a polyMesh from points. More...
 
void checkProcessorPatchesMatch (const PtrList< dictionary > &patchDicts) const
 
void reorderPoints (pointField &points, labelList &boundaryPts, faceList &faces, const label nInternalFaces) const
 
void reorderProcessorPatches (const word &meshName, const fileName &instance, const pointField &points, faceList &faces, const wordList &patchNames, const PtrList< dictionary > &patchDicts) const
 Rotate the faces on processor patches if necessary. More...
 
void writePointPairs (const fileName &fName) const
 
 conformalVoronoiMesh (const conformalVoronoiMesh &)
 Disallow default bitwise copy construct. More...
 
void operator= (const conformalVoronoiMesh &)
 Disallow default bitwise assignment. More...
 

Private Attributes

const TimerunTime_
 The time registry of the application. More...
 
Random rndGen_
 Random number generator. More...
 
cvControls foamyHexMeshControls_
 Controls for the conformal Voronoi meshing process. More...
 
searchableSurfaces allGeometry_
 All geometry of the meshing process, including surfaces to be. More...
 
conformationSurfaces geometryToConformTo_
 The surfaces to conform to. More...
 
autoPtr< backgroundMeshDecompositiondecomposition_
 Background mesh decomposition, only available in parallel. More...
 
cellShapeControl cellShapeControl_
 The cell shape control object. More...
 
treeBoundBox limitBounds_
 Limiting bound box before infinity begins. More...
 
pointPairs< DelaunayptPairs_
 
featurePointConformer ftPtConformer_
 
autoPtr< dynamicIndexedOctree< dynamicTreeDataPoint > > edgeLocationTreePtr_
 Search tree for edge point locations. More...
 
DynamicList< Foam::pointexistingEdgeLocations_
 
autoPtr< dynamicIndexedOctree< dynamicTreeDataPoint > > surfacePtLocationTreePtr_
 Search tree for surface point locations. More...
 
DynamicList< Foam::pointexistingSurfacePtLocations_
 
List< VbsurfaceConformationVertices_
 Store the surface and feature edge conformation locations to be. More...
 
autoPtr< initialPointsMethodinitialPointsMethod_
 Method for inserting initial points. Runtime selectable. More...
 
autoPtr< relaxationModelrelaxationModel_
 Relaxation coefficient model. Runtime selectable. More...
 
autoPtr< faceAreaWeightModelfaceAreaWeightModel_
 Face area weight function. Runtime selectable. More...
 

Static Private Attributes

static const scalar searchConeAngle
 
static const scalar searchAngleOppositeSurface
 

Detailed Description

Source files

Definition at line 97 of file conformalVoronoiMesh.H.

Member Typedef Documentation

◆ Vertex_handle

typedef Delaunay::Vertex_handle Vertex_handle

Definition at line 103 of file conformalVoronoiMesh.H.

◆ Cell_handle

typedef Delaunay::Cell_handle Cell_handle

Definition at line 104 of file conformalVoronoiMesh.H.

◆ Edge

typedef Delaunay::Edge Edge

Definition at line 105 of file conformalVoronoiMesh.H.

◆ Facet

typedef Delaunay::Facet Facet

Definition at line 106 of file conformalVoronoiMesh.H.

◆ Point

typedef Delaunay::Point Point

Definition at line 107 of file conformalVoronoiMesh.H.

◆ labelPairPairDynListList

Definition at line 109 of file conformalVoronoiMesh.H.

◆ pointIndexHitAndFeature

Definition at line 111 of file conformalVoronoiMesh.H.

◆ pointIndexHitAndFeatureList

Definition at line 112 of file conformalVoronoiMesh.H.

◆ pointIndexHitAndFeatureDynList

Definition at line 113 of file conformalVoronoiMesh.H.

Member Enumeration Documentation

◆ dualMeshPointType

Enumerator
internal 
surface 
featureEdge 
featurePoint 
constrained 

Definition at line 117 of file conformalVoronoiMesh.H.

Constructor & Destructor Documentation

◆ conformalVoronoiMesh() [1/2]

Disallow default bitwise copy construct.

◆ conformalVoronoiMesh() [2/2]

conformalVoronoiMesh ( const Time runTime,
const dictionary foamyHexMeshDict,
const fileName decompDictFile = "" 
)

Construct from Time and foamyHexMeshDict.

◆ ~conformalVoronoiMesh()

Destructor.

Member Function Documentation

◆ defaultCellSize()

Foam::scalar defaultCellSize ( ) const
inlineprivate

Definition at line 31 of file conformalVoronoiMeshI.H.

References cvControls::defaultCellSize(), and conformalVoronoiMesh::foamyHexMeshControls().

Here is the call graph for this function:

◆ targetCellSize()

Foam::scalar targetCellSize ( const Foam::point pt) const
inlineprivate

Return the local target cell size at the given location. Takes.

boolean argument to allow speed-up of queries if the point is going to be on a surface.

Definition at line 38 of file conformalVoronoiMeshI.H.

◆ averageAnyCellSize() [1/2]

Foam::scalar averageAnyCellSize ( const Vertex_handle vA,
const Vertex_handle vB 
) const
inlineprivate

Return the target cell size from that stored on a pair of.

Delaunay vertices, including the possibility that one of them is not an internalOrBoundaryPoint, and so will not have valid data.

Definition at line 47 of file conformalVoronoiMeshI.H.

References CGAL::indexedVertexOps::averageCellSize(), Foam::sqrt(), and Foam::topoint().

Here is the call graph for this function:

◆ averageAnyCellSize() [2/2]

Foam::scalar averageAnyCellSize ( const Delaunay::Finite_facets_iterator &  fit) const
inlineprivate

The average target cell size of a Delaunay facet, i.e., of.

a dual edge

Definition at line 82 of file conformalVoronoiMeshI.H.

References Foam::constant::universal::c, Foam::endl(), Foam::pow(), Foam::topoint(), and WarningInFunction.

Here is the call graph for this function:

◆ insertInternalPoints()

void insertInternalPoints ( List< Point > &  points,
const bool  distribute = false 
)
private

Insert Delaunay vertices using the CGAL range insertion method,.

optionally check processor occupancy and distribute to other processors

◆ insertPointPairs()

Map<label> insertPointPairs ( List< Vb > &  vertices,
bool  distribute,
bool  reIndex 
)
private

◆ createPointPair()

void createPointPair ( const scalar  ppDist,
const Foam::point surfPt,
const vector n,
const bool  ptPair,
DynamicList< Vb > &  pts 
) const
inlineprivate

Create a point-pair at a ppDist distance either side of.

surface point surfPt, in the direction n

Definition at line 224 of file conformalVoronoiMeshI.H.

References DynamicList::append(), UPstream::myProcNo(), and n.

Here is the call graph for this function:

◆ perturbPoint()

Foam::point perturbPoint ( const Foam::point pt) const
inlineprivate

Definition at line 285 of file conformalVoronoiMeshI.H.

References Foam::e, Vector< Cmpt >::x(), Vector< Cmpt >::y(), and Vector< Cmpt >::z().

Here is the call graph for this function:

◆ createBafflePointPair()

void createBafflePointPair ( const scalar  ppDist,
const Foam::point surfPt,
const vector n,
const bool  ptPair,
DynamicList< Vb > &  pts 
) const
inlineprivate

Create a point-pair at a ppDist distance either side of.

surface point surfPt, in the direction n

Definition at line 305 of file conformalVoronoiMeshI.H.

References DynamicList::append(), UPstream::myProcNo(), and n.

Here is the call graph for this function:

◆ internalPointIsInside()

bool internalPointIsInside ( const Foam::point pt) const
inlineprivate

Check internal point is completely inside the meshable region.

Definition at line 349 of file conformalVoronoiMeshI.H.

◆ insertSurfacePointPairs()

void insertSurfacePointPairs ( const pointIndexHitAndFeatureList surfaceHits,
const fileName  fName,
DynamicList< Vb > &  pts 
)
private

Insert pairs of points on the surface with the given normals, at the.

specified spacing

◆ insertEdgePointGroups()

void insertEdgePointGroups ( const pointIndexHitAndFeatureList edgeHits,
const fileName  fName,
DynamicList< Vb > &  pts 
)
private

Insert groups of points to conform to an edge given a list of.

pointIndexHits specifying the location and edge index of the point to be conformed to on the corresponding entry in featureHit

◆ createEdgePointGroupByCirculating()

void createEdgePointGroupByCirculating ( const extendedFeatureEdgeMesh feMesh,
const pointIndexHit edHit,
DynamicList< Vb > &  pts 
) const
private

◆ meshableRegion()

bool meshableRegion ( const plane::side  side,
const extendedFeatureEdgeMesh::sideVolumeType  volType 
) const
private

◆ regionIsInside()

bool regionIsInside ( const extendedFeatureEdgeMesh::sideVolumeType  volTypeA,
const vector normalA,
const extendedFeatureEdgeMesh::sideVolumeType  volTypeB,
const vector normalB,
const vector masterPtVec 
) const
private

◆ createExternalEdgePointGroup()

void createExternalEdgePointGroup ( const extendedFeatureEdgeMesh feMesh,
const pointIndexHit edHit,
DynamicList< Vb > &  pts 
) const
private

Create points to conform to an external edge.

◆ createInternalEdgePointGroup()

void createInternalEdgePointGroup ( const extendedFeatureEdgeMesh feMesh,
const pointIndexHit edHit,
DynamicList< Vb > &  pts 
) const
private

Create points to conform to an internal edge.

◆ createFlatEdgePointGroup()

void createFlatEdgePointGroup ( const extendedFeatureEdgeMesh feMesh,
const pointIndexHit edHit,
DynamicList< Vb > &  pts 
) const
private

Create points to conform to a flat edge.

◆ createOpenEdgePointGroup()

void createOpenEdgePointGroup ( const extendedFeatureEdgeMesh feMesh,
const pointIndexHit edHit,
DynamicList< Vb > &  pts 
) const
private

Create points to conform to an open edge.

◆ createMultipleEdgePointGroup()

void createMultipleEdgePointGroup ( const extendedFeatureEdgeMesh feMesh,
const pointIndexHit edHit,
DynamicList< Vb > &  pts 
) const
private

Create points to conform to multiply connected edge.

◆ insertFeaturePoints()

void insertFeaturePoints ( bool  distribute = false)
private

Determine and insert point groups at the feature points.

◆ nearFeaturePt()

bool nearFeaturePt ( const Foam::point pt) const
private

Check if a location is in exclusion range around a feature point.

◆ surfacePtNearFeatureEdge()

bool surfacePtNearFeatureEdge ( const Foam::point pt) const
private

Check if a surface point is in exclusion range around a feature edge.

◆ insertInitialPoints()

void insertInitialPoints ( )
private

Insert the initial points into the triangulation, based on the.

initialPointsMethod

◆ distributeBackground()

bool distributeBackground ( const Triangulation &  mesh)
private

In parallel redistribute the backgroundMeshDecomposition and.

vertices to balance the number of vertices on each processor. Returns true if the background mesh changes as this removes all referred vertices, so the parallel interface may need rebuilt.

◆ cellSizeMeshOverlapsBackground()

void cellSizeMeshOverlapsBackground ( ) const
private

◆ distribute()

void distribute ( )
private

◆ buildCellSizeAndAlignmentMesh()

void buildCellSizeAndAlignmentMesh ( )
private

◆ setVertexSizeAndAlignment()

void setVertexSizeAndAlignment ( )
private

Set the size and alignment data for each vertex.

◆ buildDualFace()

face buildDualFace ( const Delaunay::Finite_edges_iterator &  eit) const
private

Builds a dual face by circulating around the supplied edge.

◆ dualFaceBoundaryPoints()

Foam::List< bool > dualFaceBoundaryPoints ( const Delaunay::Finite_edges_iterator &  eit) const
inlineprivate

Definition at line 409 of file conformalVoronoiMeshI.H.

References DynamicList::append().

Here is the call graph for this function:

◆ maxFilterCount()

label maxFilterCount ( const Delaunay::Finite_edges_iterator &  eit) const
private

Finds the maximum filterCount of the dual vertices.

(Delaunay cells) that form the dual face produced by the supplied edge

◆ ownerAndNeighbour()

bool ownerAndNeighbour ( Vertex_handle  vA,
Vertex_handle  vB,
label owner,
label neighbour 
) const
private

Determines the owner and neighbour labels for dual cells.

corresponding to the dual face formed by the supplied Delaunay vertices. If the dual face is a boundary face then neighbour = -1. Returns true if the dual face created by vA -> vB needs to be reversed to be correctly orientated.

◆ conformToSurface()

void conformToSurface ( )
private

Insert the necessary point pairs to conform to the surface, either.

from stored results, or trigger a re-conformation

◆ reconformToSurface()

bool reconformToSurface ( ) const
private

Decision making function for when to rebuild the surface.

conformation

◆ findVerticesNearBoundaries()

label findVerticesNearBoundaries ( )
private

Determines geometrically whether a vertex is close to a surface.

This is an optimisation

◆ buildSurfaceConformation()

void buildSurfaceConformation ( )
private

Create and insert the necessary point pairs to conform to the.

surface, then store the result

◆ synchroniseEdgeTrees()

label synchroniseEdgeTrees ( const DynamicList< label > &  edgeToTreeShape,
pointIndexHitAndFeatureList featureEdgeHits 
)
private

◆ synchroniseSurfaceTrees()

label synchroniseSurfaceTrees ( const DynamicList< label > &  surfaceToTreeShape,
pointIndexHitAndFeatureList surfaceHits 
)
private

◆ surfaceLocationConformsToInside()

bool surfaceLocationConformsToInside ( const pointIndexHitAndFeature info) const
private

◆ dualCellSurfaceAnyIntersection()

bool dualCellSurfaceAnyIntersection ( const Delaunay::Finite_vertices_iterator &  vit) const
private

Check to see if dual cell specified by given vertex iterator.

intersects the boundary and hence reqires a point-pair

◆ dualCellSurfaceAllIntersections()

bool dualCellSurfaceAllIntersections ( const Delaunay::Finite_vertices_iterator &  vit,
pointIndexHitAndFeatureDynList info 
) const
private

Return all intersections.

◆ clipLineToProc()

bool clipLineToProc ( const Foam::point pt,
Foam::point a,
Foam::point b 
) const
private

Return false if the line is entirely outside the current processor.

domain, true is either point is inside, or the processor domain bounadry is intersected (i.e. the points are box outside but the line cuts. The points will be moved onto the box where they intersect.

◆ dualCellLargestSurfaceProtrusion()

void dualCellLargestSurfaceProtrusion ( const Delaunay::Finite_vertices_iterator &  vit,
pointIndexHit surfHit,
label hitSurface 
) const
private

Find the "worst" protrusion of a dual cell through the surface,.

subject to the maxSurfaceProtrusion tolerance

◆ dualCellLargestSurfaceIncursion()

void dualCellLargestSurfaceIncursion ( const Delaunay::Finite_vertices_iterator &  vit,
pointIndexHit surfHit,
label hitSurface 
) const
private

◆ reportProcessorOccupancy()

void reportProcessorOccupancy ( )
private

Write out vertex-processor occupancy information for debugging.

◆ limitDisplacement()

void limitDisplacement ( const Delaunay::Finite_vertices_iterator &  vit,
vector displacement,
label  callCount = 0 
) const
private

Write out debugging information about the surface conformation.

quality void reportSurfaceConformationQuality(); Limit the displacement of a point so that it doesn't penetrate the

surface to be meshed or come too close to it

◆ angleBetweenSurfacePoints()

scalar angleBetweenSurfacePoints ( Foam::point  pA,
Foam::point  pB 
) const
private

Find angle between the normals of two close surface points.

◆ nearSurfacePoint()

bool nearSurfacePoint ( pointIndexHitAndFeature pHit) const
private

Check if a surface point is near another.

◆ appendToSurfacePtTree()

bool appendToSurfacePtTree ( const Foam::point pt) const
private

Append a point to the surface point tree and the existing list.

◆ appendToEdgeLocationTree()

bool appendToEdgeLocationTree ( const Foam::point pt) const
private

Append a point to the edge location tree and the existing list.

◆ nearestFeatureEdgeLocations()

List<pointIndexHit> nearestFeatureEdgeLocations ( const Foam::point pt) const
private

Return a list of the nearest feature edge locations.

◆ pointIsNearFeatureEdgeLocation() [1/2]

bool pointIsNearFeatureEdgeLocation ( const Foam::point pt) const
private

Check if a point is near any feature edge points.

◆ pointIsNearFeatureEdgeLocation() [2/2]

bool pointIsNearFeatureEdgeLocation ( const Foam::point pt,
pointIndexHit info 
) const
private

◆ pointIsNearSurfaceLocation() [1/2]

bool pointIsNearSurfaceLocation ( const Foam::point pt) const
private

Check if a point is near any surface conformation points.

◆ pointIsNearSurfaceLocation() [2/2]

bool pointIsNearSurfaceLocation ( const Foam::point pt,
pointIndexHit info 
) const
private

◆ nearFeatureEdgeLocation()

bool nearFeatureEdgeLocation ( const pointIndexHit pHit,
pointIndexHit nearestEdgeHit 
) const
private

Check if a location is in the exclusion range of an existing feature.

edge conformation location

◆ buildEdgeLocationTree()

void buildEdgeLocationTree ( const DynamicList< Foam::point > &  existingEdgeLocations) const
private

Build or rebuild the edge location tree.

◆ buildSurfacePtLocationTree()

void buildSurfacePtLocationTree ( const DynamicList< Foam::point > &  existingSurfacePtLocations) const
private

Build or rebuild the surface point location tree.

◆ addSurfaceAndEdgeHits()

void addSurfaceAndEdgeHits ( const Foam::point vit,
const pointIndexHitAndFeatureDynList surfaceIntersections,
scalar  surfacePtReplaceDistCoeffSqr,
scalar  edgeSearchDistCoeffSqr,
pointIndexHitAndFeatureDynList surfaceHits,
pointIndexHitAndFeatureDynList featureEdgeHits,
DynamicList< label > &  surfaceToTreeShape,
DynamicList< label > &  edgeToTreeShape,
Map< scalar > &  surfacePtToEdgePtDist,
bool  firstPass 
) const
private

Process the surface conformation locations to decide which surface.

and edge conformation locations to add

◆ storeSurfaceConformation()

void storeSurfaceConformation ( )
private

Store the surface conformation with the indices offset to be.

relative to zero

◆ reinsertSurfaceConformation()

void reinsertSurfaceConformation ( )
private

Reinsert the surface conformation re-offsetting indices to be.

relative to new number of internal vertices

◆ checkCells()

void checkCells ( )
private

◆ checkDuals()

void checkDuals ( )
private

◆ checkVertices()

void checkVertices ( )
private

◆ checkCoPlanarCells()

void checkCoPlanarCells ( ) const
private

◆ calcDualMesh()

void calcDualMesh ( pointField points,
labelList boundaryPts,
faceList faces,
labelList owner,
labelList neighbour,
wordList patchNames,
PtrList< dictionary > &  patchDicts,
pointField cellCentres,
labelList cellToDelaunayVertex,
labelListList patchToDelaunayVertex,
PackedBoolList boundaryFacesToRemove 
)
private

Dual calculation.

◆ calcNeighbourCellCentres()

void calcNeighbourCellCentres ( const polyMesh mesh,
const pointField cellCentres,
pointField neiCc 
) const
private

◆ selectSeparatedCoupledFaces()

void selectSeparatedCoupledFaces ( const polyMesh mesh,
boolList selected 
) const
private

◆ findCellZoneInsideWalk()

void findCellZoneInsideWalk ( const polyMesh mesh,
const labelList locationSurfaces,
const labelList faceToSurface,
labelList cellToSurface 
) const
private

From meshRefinementBaffles.C. Use insidePoint for a surface to.

determine the cell zone.

◆ calcCellZones()

labelList calcCellZones ( const pointField cellCentres) const
private

Calculate the cell zones from cellCentres using all closed surfaces.

◆ calcFaceZones()

void calcFaceZones ( const polyMesh mesh,
const pointField cellCentres,
const labelList cellToSurface,
labelList faceToSurface,
boolList flipMap 
) const
private

Calculate the face zones.

◆ addZones()

void addZones ( polyMesh mesh,
const pointField cellCentres 
) const
private

Add zones to the polyMesh.

◆ calcTetMesh()

void calcTetMesh ( pointField points,
labelList pointToDelaunayVertex,
faceList faces,
labelList owner,
labelList neighbour,
wordList patchNames,
PtrList< dictionary > &  patchDicts 
)
private

Tet mesh calculation.

◆ isBoundaryDualFace()

bool isBoundaryDualFace ( const Delaunay::Finite_edges_iterator &  eit) const
inlineprivate

Determines if the dual face constructed by the Delaunay.

edge is a boundary face

Definition at line 367 of file conformalVoronoiMeshI.H.

References Foam::constant::universal::c.

◆ processorsAttached()

Foam::List< Foam::label > processorsAttached ( const Delaunay::Finite_facets_iterator &  fit) const
inlineprivate

Which processors are attached to the dual edge represented by this.

Delaunay facet

Definition at line 452 of file conformalVoronoiMeshI.H.

References DynamicList::append(), Foam::constant::physicoChemical::c1, Foam::constant::physicoChemical::c2, Foam::findIndex(), forAll, and CGAL::indexedCellOps::processorsAttached().

Here is the call graph for this function:

◆ isParallelDualEdge()

bool isParallelDualEdge ( const Delaunay::Finite_facets_iterator &  fit) const
inlineprivate

Determines if the edge constructed from the face is on.

a processor patch

Definition at line 484 of file conformalVoronoiMeshI.H.

References Foam::constant::physicoChemical::c1.

◆ isProcBoundaryEdge()

bool isProcBoundaryEdge ( const Delaunay::Finite_edges_iterator &  eit) const
inlineprivate

Determines if the dual face constructed by the Delaunay.

edge is a processor boundary face

Definition at line 501 of file conformalVoronoiMeshI.H.

References Foam::constant::universal::c.

◆ mergeIdenticalDualVertices() [1/2]

void mergeIdenticalDualVertices ( const pointField pts,
labelList boundaryPts 
)
private

Merge vertices that are identical.

◆ mergeIdenticalDualVertices() [2/2]

label mergeIdenticalDualVertices ( const pointField pts,
Map< label > &  dualPtIndexMap 
) const
private

◆ deferredCollapseFaceSet()

void deferredCollapseFaceSet ( labelList owner,
labelList neighbour,
const HashSet< labelPair, labelPair::Hash<> > &  deferredCollapseFaces 
) const
private

Identify the face labels of the deferred collapse faces.

◆ checkCellSizing()

void checkCellSizing ( )
private

Check whether the cell sizes are fine enough. Creates a polyMesh.

◆ findOffsetPatchFaces()

labelHashSet findOffsetPatchFaces ( const polyMesh mesh,
const scalar  allowedOffset 
) const
private

Find all cells with a patch face that is not near the surface. The.

allowed offset is the fraction of the target cell size.

◆ checkPolyMeshQuality()

labelHashSet checkPolyMeshQuality ( const pointField pts) const
private

Create a polyMesh and check its quality, reports which.

elements damage the mesh quality, allowing backtracking.

◆ classifyBoundaryPoint()

label classifyBoundaryPoint ( Cell_handle  cit) const
private

◆ indexDualVertices()

void indexDualVertices ( pointField pts,
labelList boundaryPts 
)
private

Index all of the the Delaunay cells and calculate their dual points.

◆ reindexDualVertices()

void reindexDualVertices ( const Map< label > &  dualPtIndexMap,
labelList boundaryPts 
)
private

Re-index all of the Delaunay cells.

◆ createPatchInfo()

label createPatchInfo ( wordList patchNames,
PtrList< dictionary > &  patchDicts 
) const
private

◆ calcSharedPatchNormal()

vector calcSharedPatchNormal ( Cell_handle  c1,
Cell_handle  c2 
) const
private

◆ boundaryDualFace()

bool boundaryDualFace ( Cell_handle  c1,
Cell_handle  c2 
) const
private

◆ createFacesOwnerNeighbourAndPatches()

void createFacesOwnerNeighbourAndPatches ( const pointField pts,
faceList faces,
labelList owner,
labelList neighbour,
wordList patchNames,
PtrList< dictionary > &  patchDicts,
labelListList patchPointPairSlaves,
PackedBoolList boundaryFacesToRemove,
bool  includeEmptyPatches = false 
) const
private

Create all of the internal and boundary faces.

◆ sortFaces()

void sortFaces ( faceList faces,
labelList owner,
labelList neighbour 
) const
private

Sort the faces, owner and neighbour lists into.

upper-triangular order. For internal faces only, use before adding patch faces

◆ sortProcPatches()

void sortProcPatches ( List< DynamicList< face > > &  patchFaces,
List< DynamicList< label > > &  patchOwners,
List< DynamicList< label > > &  patchPointPairSlaves,
labelPairPairDynListList patchSortingIndices 
) const
private

Sort the processor patches so that the faces are in the same order.

on both processors

◆ addPatches()

void addPatches ( const label  nInternalFaces,
faceList faces,
labelList owner,
PtrList< dictionary > &  patchDicts,
PackedBoolList boundaryFacesToRemove,
const List< DynamicList< face > > &  patchFaces,
const List< DynamicList< label > > &  patchOwners,
const List< DynamicList< bool > > &  indirectPatchFace 
) const
private

Add the faces and owner information for the patches.

◆ removeUnusedPoints()

void removeUnusedPoints ( faceList faces,
pointField pts,
labelList boundaryPts 
) const
private

Remove points that are no longer used by any faces.

◆ removeUnusedCells()

labelList removeUnusedCells ( labelList owner,
labelList neighbour 
) const
private

Remove dual cells that are not used by any faces. Return compaction.

map.

◆ createDummyMesh()

autoPtr<fvMesh> createDummyMesh ( const IOobject io,
const wordList patchNames,
const PtrList< dictionary > &  patchDicts 
) const
private

Create an empty fvMesh.

◆ createPolyMeshFromPoints()

autoPtr<polyMesh> createPolyMeshFromPoints ( const pointField pts) const
private

Create a polyMesh from points.

◆ checkProcessorPatchesMatch()

void checkProcessorPatchesMatch ( const PtrList< dictionary > &  patchDicts) const
private

◆ reorderPoints()

void reorderPoints ( pointField points,
labelList boundaryPts,
faceList faces,
const label  nInternalFaces 
) const
private

◆ reorderProcessorPatches()

void reorderProcessorPatches ( const word meshName,
const fileName instance,
const pointField points,
faceList faces,
const wordList patchNames,
const PtrList< dictionary > &  patchDicts 
) const
private

Rotate the faces on processor patches if necessary.

◆ writePointPairs()

void writePointPairs ( const fileName fName) const
private

◆ operator=()

void operator= ( const conformalVoronoiMesh )
private

Disallow default bitwise assignment.

◆ ClassName()

ClassName ( "conformalVoronoiMesh"  )

Runtime type information.

◆ initialiseForMotion()

void initialiseForMotion ( )

◆ initialiseForConformation()

void initialiseForConformation ( )

◆ move()

void move ( )

Move the vertices according to the controller, re-conforming to the.

surface as required

◆ time()

const Foam::Time & time ( ) const
inline

Return the Time object.

Definition at line 530 of file conformalVoronoiMeshI.H.

◆ rndGen()

Foam::Random & rndGen ( ) const
inline

Return the random number generator.

Definition at line 536 of file conformalVoronoiMeshI.H.

◆ allGeometry()

const Foam::searchableSurfaces & allGeometry ( ) const
inline

Return the allGeometry object.

Definition at line 543 of file conformalVoronoiMeshI.H.

◆ geometryToConformTo()

const Foam::conformationSurfaces & geometryToConformTo ( ) const
inline

Return the conformationSurfaces object.

Definition at line 550 of file conformalVoronoiMeshI.H.

◆ decomposition()

const Foam::backgroundMeshDecomposition & decomposition ( ) const
inline

Return the backgroundMeshDecomposition.

Definition at line 557 of file conformalVoronoiMeshI.H.

References Foam::endl(), Foam::exit(), Foam::FatalError, FatalErrorInFunction, and UPstream::parRun().

Here is the call graph for this function:

◆ cellShapeControls()

const Foam::cellShapeControl & cellShapeControls ( ) const
inline

Return the cellShapeControl object.

Definition at line 571 of file conformalVoronoiMeshI.H.

◆ foamyHexMeshControls()

const Foam::cvControls & foamyHexMeshControls ( ) const
inline

Return the foamyHexMeshControls object.

Definition at line 578 of file conformalVoronoiMeshI.H.

Referenced by conformalVoronoiMesh::defaultCellSize().

Here is the caller graph for this function:

◆ pointPairDistance()

Foam::scalar pointPairDistance ( const Foam::point pt) const
inline

Return the local point pair separation at the given location.

Definition at line 137 of file conformalVoronoiMeshI.H.

◆ mixedFeaturePointDistance()

Foam::scalar mixedFeaturePointDistance ( const Foam::point pt) const
inline

Return the local mixed feature point placement distance.

Definition at line 146 of file conformalVoronoiMeshI.H.

◆ featurePointExclusionDistanceSqr()

Foam::scalar featurePointExclusionDistanceSqr ( const Foam::point pt) const
inline

Return the square of the local feature point exclusion distance.

Definition at line 157 of file conformalVoronoiMeshI.H.

References Foam::sqr().

Here is the call graph for this function:

◆ featureEdgeExclusionDistanceSqr()

Foam::scalar featureEdgeExclusionDistanceSqr ( const Foam::point pt) const
inline

Return the square of the local feature edge exclusion distance.

Definition at line 171 of file conformalVoronoiMeshI.H.

References Foam::sqr().

Here is the call graph for this function:

◆ surfacePtExclusionDistanceSqr()

Foam::scalar surfacePtExclusionDistanceSqr ( const Foam::point pt) const
inline

Return the square of the local surface point exclusion distance.

Definition at line 185 of file conformalVoronoiMeshI.H.

References Foam::sqr().

Here is the call graph for this function:

◆ surfaceSearchDistanceSqr()

Foam::scalar surfaceSearchDistanceSqr ( const Foam::point pt) const
inline

Return the square of the local surface search distance.

Definition at line 199 of file conformalVoronoiMeshI.H.

References Foam::sqr().

Here is the call graph for this function:

◆ maxSurfaceProtrusion()

Foam::scalar maxSurfaceProtrusion ( const Foam::point pt) const
inline

Return the local maximum surface protrusion distance.

Definition at line 213 of file conformalVoronoiMeshI.H.

◆ createEdgePointGroup()

void createEdgePointGroup ( const extendedFeatureEdgeMesh feMesh,
const pointIndexHit edHit,
DynamicList< Vb > &  pts 
) const

Call the appropriate function to conform to an edge.

◆ timeCheck() [1/2]

static void timeCheck ( const Time runTime,
const string description = string::null,
const bool  check = true 
)
static

Write the elapsedCpuTime and memory usage, with an optional.

description

◆ timeCheck() [2/2]

void timeCheck ( const string description = string::null) const

◆ writeMesh() [1/2]

void writeMesh ( const fileName instance)

Prepare data and call writeMesh for polyMesh and.

tetDualMesh

◆ writeMesh() [2/2]

void writeMesh ( const word meshName,
const fileName instance,
pointField points,
labelList boundaryPts,
faceList faces,
labelList owner,
labelList neighbour,
const wordList patchNames,
const PtrList< dictionary > &  patchDicts,
const pointField cellCentres,
PackedBoolList boundaryFacesToRemove 
) const

Write mesh to disk.

◆ writeCellSizes()

void writeCellSizes ( const fvMesh mesh) const

Calculate and write a field of the target cell size,.

target cell volume, actual cell volume and equivalent actual cell size (cbrt(actual cell volume)).

◆ writeCellAlignments()

void writeCellAlignments ( const fvMesh mesh) const

◆ writeCellCentres()

void writeCellCentres ( const fvMesh mesh) const

Calculate and write the cell centres.

◆ findRemainingProtrusionSet()

labelHashSet findRemainingProtrusionSet ( const polyMesh mesh) const

Find the cellSet of the boundary cells which have points that.

protrude out of the surface beyond a tolerance.

Field Documentation

◆ dualMeshPointTypeNames_

const NamedEnum<dualMeshPointType, 5> dualMeshPointTypeNames_
static

Definition at line 126 of file conformalVoronoiMesh.H.

◆ searchConeAngle

const scalar searchConeAngle
staticprivate

Definition at line 133 of file conformalVoronoiMesh.H.

◆ searchAngleOppositeSurface

const scalar searchAngleOppositeSurface
staticprivate

Definition at line 135 of file conformalVoronoiMesh.H.

◆ runTime_

const Time& runTime_
private

The time registry of the application.

Definition at line 141 of file conformalVoronoiMesh.H.

◆ rndGen_

Random rndGen_
mutableprivate

Random number generator.

Definition at line 144 of file conformalVoronoiMesh.H.

◆ foamyHexMeshControls_

cvControls foamyHexMeshControls_
private

Controls for the conformal Voronoi meshing process.

Definition at line 147 of file conformalVoronoiMesh.H.

◆ allGeometry_

searchableSurfaces allGeometry_
private

All geometry of the meshing process, including surfaces to be.

conformed to and those to be used for refinement

Definition at line 151 of file conformalVoronoiMesh.H.

◆ geometryToConformTo_

conformationSurfaces geometryToConformTo_
private

The surfaces to conform to.

Definition at line 154 of file conformalVoronoiMesh.H.

◆ decomposition_

autoPtr<backgroundMeshDecomposition> decomposition_
private

Background mesh decomposition, only available in parallel.

Definition at line 157 of file conformalVoronoiMesh.H.

◆ cellShapeControl_

cellShapeControl cellShapeControl_
private

The cell shape control object.

Definition at line 160 of file conformalVoronoiMesh.H.

◆ limitBounds_

treeBoundBox limitBounds_
private

Limiting bound box before infinity begins.

Definition at line 163 of file conformalVoronoiMesh.H.

◆ ptPairs_

pointPairs<Delaunay> ptPairs_
mutableprivate

Definition at line 165 of file conformalVoronoiMesh.H.

◆ ftPtConformer_

featurePointConformer ftPtConformer_
private

Definition at line 167 of file conformalVoronoiMesh.H.

◆ edgeLocationTreePtr_

autoPtr<dynamicIndexedOctree<dynamicTreeDataPoint> > edgeLocationTreePtr_
mutableprivate

Search tree for edge point locations.

Definition at line 171 of file conformalVoronoiMesh.H.

◆ existingEdgeLocations_

DynamicList<Foam::point> existingEdgeLocations_
mutableprivate

Definition at line 173 of file conformalVoronoiMesh.H.

◆ surfacePtLocationTreePtr_

autoPtr<dynamicIndexedOctree<dynamicTreeDataPoint> > surfacePtLocationTreePtr_
mutableprivate

Search tree for surface point locations.

Definition at line 177 of file conformalVoronoiMesh.H.

◆ existingSurfacePtLocations_

DynamicList<Foam::point> existingSurfacePtLocations_
mutableprivate

Definition at line 179 of file conformalVoronoiMesh.H.

◆ surfaceConformationVertices_

List<Vb> surfaceConformationVertices_
private

Store the surface and feature edge conformation locations to be.

reinserted

Definition at line 183 of file conformalVoronoiMesh.H.

◆ initialPointsMethod_

autoPtr<initialPointsMethod> initialPointsMethod_
private

Method for inserting initial points. Runtime selectable.

Definition at line 186 of file conformalVoronoiMesh.H.

◆ relaxationModel_

autoPtr<relaxationModel> relaxationModel_
private

Relaxation coefficient model. Runtime selectable.

Definition at line 189 of file conformalVoronoiMesh.H.

◆ faceAreaWeightModel_

autoPtr<faceAreaWeightModel> faceAreaWeightModel_
private

Face area weight function. Runtime selectable.

Definition at line 192 of file conformalVoronoiMesh.H.


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