ENH: distributedTriSurfaceMesh: work with flipped shells. Fixes #2405

Two problems:
- flipping inside snappyHexMesh is not done in a parallel
consistent way. So e.g. the octree-cached inside/outside information
has already been calculated. For now flipping of
distributedTriSurfaceMesh is disabled.
- octree-cached inside/outside information was using already
cached information and would only work for outwards pointing
volumes
This commit is contained in:
mattijs
2022-03-17 15:53:14 +00:00
parent 55f287cd83
commit 9c7d265e4b
4 changed files with 254 additions and 15 deletions

View File

@ -42,12 +42,23 @@ runApplication -s 9 surfaceRefineRedGreen \
runApplication -s 10 surfaceRefineRedGreen \
constant/triSurface/box_12_9.obj constant/triSurface/box.obj
#- Offset to create second surface
runApplication surfaceTransformPoints \
-rotate '((1 0 0)(1 0.8 0.9))' \
-translate '(0.1 0.101 0.103)' \
constant/triSurface/box.obj constant/triSurface/box_trans.obj
#- Invert surface (so inwards pointing normals) to use as refinement box
runApplication surfaceOrient -inside \
constant/triSurface/box.obj \
'(100 100 100)' \
constant/triSurface/box_flipped.obj
runApplication -s scale surfaceTransformPoints \
-translate '(0.2 0.3 0.3)' \
-write-scale '(0.5)' \
constant/triSurface/box_flipped.obj constant/triSurface/box_scaled.obj
runApplication snappyHexMesh

View File

@ -38,6 +38,11 @@ geometry
file "box_trans.obj";
type distributedTriSurfaceMesh;
}
shell
{
file "box_scaled.obj";
type distributedTriSurfaceMesh;
}
};
@ -129,6 +134,12 @@ castellatedMeshControls
refinementRegions
{
shell
{
// Refine a volume
mode outside;
levels ((1.0 6));
}
}