windAroundBuildings tutorial leaks when used with cellZones
Functionality to add/problem to solve
snappyHexMesh leaks through (topologically) closed surfaces. In the incompressible/simpleFoam/windAroundBuildings
tutorial change the snappyHexMeshDict to mesh the surface as cellZones
refinementSurfaces
{
buildings
{
level (3 3);
patchInfo { type wall; }
faceZone buildings;
cellZone buildings;
cellZoneInside inside;
}
}
This will leak out of the marginal triangles. There are some problems with the surface:
- zero-sized edges
- a region with inconsistent orientation (numbering of neighbouring vertices should be opposite) but the leakage does not seem to be limited to that.
Ideally the intersection / nearest of the surfaces should not look at the disconnected triangles but look at the surface instead so rays can never shoot in between neighbouring triangles.
The current workaround is to increase the geometric tolerance on the triSurfaceMesh ('tolerance').
Target audience
snappyHexMesh on marginal triangulations
Proposal
Look into octree intersection/nearest classification. E.g. treeDataPrimitivePatch<PatchType>::findIntersection
.
What does success look like, and how can we measure that?
Above tutorial