Skip to content
Snippets Groups Projects
Commit 12ea7d1e authored by mattijs's avatar mattijs
Browse files

Merge branch 'master' of /home/noisy3/OpenFOAM/OpenFOAM-dev

parents 4ce22e4c 395c923e
Branches
Tags
No related merge requests found
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.
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment