136 lines
3.7 KiB
Plaintext
136 lines
3.7 KiB
Plaintext
src/
|
|
|
|
mesh/conformalVoronoiMesh
|
|
- all the meshing. See separate section below.
|
|
|
|
polyMeshGeometry:
|
|
- disabled tetquality check on face-center decomp tet.
|
|
Check only minTetDecomp tet.
|
|
|
|
limits face filtering if enabled. So cv3d can generate neg.
|
|
(face-centre decomp) tets but pyramid volumes are still positive!
|
|
|
|
indexedOctree:
|
|
- findSphere routine
|
|
|
|
closedTriSurfaceMesh :
|
|
triSurface which is defined closed even though topologically it isn't.
|
|
|
|
searchableSurface :
|
|
- bounds_ member data
|
|
- bool overlaps() const routine
|
|
searchableSurfaces, searhcableSurfacesQueries :
|
|
- findNearestIntersection routine
|
|
- bounds routines
|
|
|
|
surfaceFeatures:
|
|
- trimFeatures function returns trimmed bits
|
|
|
|
triSurfaceTools:
|
|
- surfaceSide.
|
|
|
|
the edge code is irrelevant. Use dev bits.
|
|
|
|
indexedOctree:
|
|
- findSphere
|
|
|
|
polyMeshTetDecomposition:
|
|
- disabled face-centre tet quality check (but kept minTetDecomp)
|
|
|
|
polyMesh.C:
|
|
- read cell centres if present.
|
|
|
|
Can be scrapped. Not useful. Does not write cell centres, does not
|
|
do decomposition, reconstruction, moving meshes.
|
|
|
|
primitiveMesh:
|
|
- overrideCellCentres
|
|
|
|
triangleI.H:
|
|
- stabilised triangle quality. Ok.
|
|
|
|
memInfo:
|
|
- added I/O operators. Useful.
|
|
|
|
distributedTrisurfaceMesh:
|
|
- additional reduce on boundBox. Can be removed only on the one
|
|
constructed from boundBox (line 2300)
|
|
|
|
|
|
Utilities/
|
|
|
|
cvMesh:
|
|
- top level mesher
|
|
|
|
checkMesh:
|
|
- override cellCentres. Remove if the polyMesh stuff gets removed.
|
|
|
|
surfaceCheck:
|
|
- moved triSurface quality into triangle. Use cvm.
|
|
|
|
surfaceBooleanFeatures:
|
|
- new application. Determines features straight from intersection.
|
|
More stable than surfaceBooleanOp. Used to e.g. get the features
|
|
between the wheels and wind tunnel.
|
|
So if surfaceBooleanOp fails:
|
|
- use this to extract features
|
|
- use snappyHexMesh to defeature
|
|
- use cvMesh with extracted features
|
|
This does not work very well! Since there might still be overlapping
|
|
bits of triSurface that will be meshed.
|
|
|
|
surfaceFeatureExtract:
|
|
- uses cgal only for curvature calculation. See cgal.
|
|
- writes a triSurfaceField of 'curvature' and 'internal closeness'
|
|
and 'external closeness'. This is just a normal intersection, not
|
|
a nearest point. These fields get used by cvMesh. Or not yet - is part
|
|
of proposal to seed points according to curvature.
|
|
- detects features that are near?
|
|
|
|
surfaceSplitByTopology:
|
|
- for fuel tank of Brawn. Detects baffles (markZones) and splits
|
|
it accordingly.
|
|
|
|
|
|
|
|
conformalVoronoiMesh/
|
|
--------------------
|
|
- Make sure the surface does not have any sliver triangles. These are
|
|
hard to get the surface normal correct for so might cause bleeding.
|
|
- Use surfaceCheck to find out triangle quality and size of smallest edges
|
|
- Use surfaceClean .. 1e-5 .. to get rid of any edges < 1e-5m.
|
|
|
|
- If you get bleeding you might see in face filtering:
|
|
|
|
...
|
|
cells with with zero or one non-boundary face : 1
|
|
...
|
|
Initial check before face collapse, found 48 bad quality faces
|
|
|
|
but this was real - the cell that got created inside the cone and sphere by the
|
|
bad triangle was actually attached to a lot of faces. This screwed up the
|
|
subsequent filtering as it stopped too early.
|
|
|
|
I ran:
|
|
|
|
surfaceClean coneAndSphere.obj 1e-5 coneAndSphere_clean.obj
|
|
|
|
and re-ran with that surface and got
|
|
|
|
...
|
|
cells with with zero or one non-boundary face : 0
|
|
...
|
|
Initial check before face collapse, found 0 bad quality faces
|
|
|
|
and the bad cells inside are gone.
|
|
|
|
That group of cells would be picked up at the end of the meshing as the
|
|
|
|
cvMesh_remainingProtrusions
|
|
|
|
cellSet which can be deleted.
|
|
|
|
|
|
|
|
|