Files
openfoam/doc/cvMesh.org
2011-06-20 18:07:46 +01:00

4.4 KiB

cvMesh usage

#

Method

  • initial point seeding. These are the background points to

    • start the triangulation from (a subset)
    • do cellsize and alignment queries on
  • mesh movement based on cell size and alignment
  • surface conformation by introducing duplicate points
  • do final simplification by face filtering

Typical work flow

  • clean surfaces (surfaceClean, surfaceOrient)
  • set in system/controlDict

    • startTime to latestTime
    • endTime to number of meshing iterations
    • writeInterval to large value
  • select defaultCellSize [m]
  • select refinement patterns based on e.g. surface (cellSizeControlGeometry)
  • select autoDensity initial point seeding
  • force output of unfiltered mesh (to save time) by specifying unobtainable mesh quality: continueFilteringOnBadInitialPolyMesh false; maxNonOrtho 1;
  • check visually

    • features resolved?
    • cell size ok? Load in targetCellSize volScalarField.
    • if any surface protusions that are unacceptable

      • lower targetCellSize
      • lower maxSurfaceProtrusionCoeff (usually 0.1 of targetCellSize)
  • restart. Repeat until surface good enough.
  • produce final mesh

    • set initialPointsMethod to pointFile so it reuses the Delaunay vertices
    • re-enable mesh filtering continueFilteringOnBadInitialPolyMesh true; maxNonOrtho 65; //or whatever;

Debugging

  • run surfaceFeatureExtract with -writeObj to dump all features
  • set initialPointsMethod to pointFile
  • set writeInterval to 1
  • run e.g. topoSet to create slices

Annotated output

Create time

Reading geometryToConformTo

Reading cellSizeControlGeometry

Selecting initialPointsMethod autoDensity

Selecting relaxationModel adaptiveLinear

Selecting faceAreaWeightModel piecewiseLinearRamp

Conforming to feature points
    Inserted 32 feature vertices

In this particular case there are 8 straight corners so these can be recreated with a triplet each.

Inserting initial points

    autoDensity
        6922 points placed
        9139 locations queried
        0.7574132837 success rate

The initial points get created by the autoDensity method. It will accept only part (75% in this cae) of the initial points to create randomly distributed locations.

    6922 points to insert...
    6922 points inserted

Build coarse surface conformation

Initial conformation
    Number of vertices 6962
    Number of surface hits 2245
    Number of edge hits 238

The initial points get inserted into the triangulation and it detects the number of surface pierces (surface hits) and the number of XXX (edge hits).

Stopping iterations when:
    total number of hits drops below 0.001 of initial hits (2)
 or
    maximum number of iterations (15) is reached

It will introduce additional duplicate vertices on either side of the surface pierce to conform to the geometry. This needs to repeated until the number of pierces is low enough.

Conformation iteration 0
    Number of vertices 12166
    Number of surface hits 234
    Number of edge hits 38

..

Conformation iteration 4
    Number of vertices 12908
    Number of surface hits 0
    Number of edge hits 0

--- [ cpuTime 5.46 s, delta 0.8 s, "Conformation iteration 4" ] ---
--- [ 5.46 s, mem size 114228 kB, mem peak 114228 kB, mem rss 28712 kB ] ---

Total hits (0) less than limit (2), stopping iterations

Storing surface conformation
    Stored 5946 vertices
Store size and alignment

The vertices needed to create the conformation are stored together with the size and alignment.

Time = 1

Relaxation = 1

Looking up target cell alignment and size

Determining vertex displacements

Reinserting stored feature points
    Reinserted 32 vertices

Inserting displaced tessellation
    4328 points to insert...
    4328 points inserted

Reinserting stored surface conformation
    Reinserted 5946 vertices

Total displacement = (0.03629314022 0.1324815449 -0.2774017193)
Total distance = 159.3482907

ExecutionTime = 8.16 s  ClockTime = 8 s


Time = 2

Relaxation = 0.9875