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
70 lines
2.3 KiB
Bash
Executable File
70 lines
2.3 KiB
Bash
Executable File
#!/bin/sh
|
|
cd "${0%/*}" || exit # Run from this directory
|
|
. ${WM_PROJECT_DIR:?}/bin/tools/RunFunctions # Tutorial run functions
|
|
#------------------------------------------------------------------------------
|
|
|
|
mkdir -p constant/triSurface
|
|
|
|
cp -f \
|
|
"$FOAM_TUTORIALS"/resources/geometry/box_12.obj.gz \
|
|
constant/triSurface
|
|
|
|
runApplication blockMesh
|
|
|
|
# Create fine surface
|
|
runApplication -s 1 surfaceRefineRedGreen \
|
|
constant/triSurface/box_12.obj constant/triSurface/box_12_1.obj
|
|
|
|
runApplication -s 2 surfaceRefineRedGreen \
|
|
constant/triSurface/box_12_1.obj constant/triSurface/box_12_2.obj
|
|
|
|
runApplication -s 3 surfaceRefineRedGreen \
|
|
constant/triSurface/box_12_2.obj constant/triSurface/box_12_3.obj
|
|
|
|
runApplication -s 4 surfaceRefineRedGreen \
|
|
constant/triSurface/box_12_3.obj constant/triSurface/box_12_4.obj
|
|
|
|
runApplication -s 5 surfaceRefineRedGreen \
|
|
constant/triSurface/box_12_4.obj constant/triSurface/box_12_5.obj
|
|
|
|
runApplication -s 6 surfaceRefineRedGreen \
|
|
constant/triSurface/box_12_5.obj constant/triSurface/box_12_6.obj
|
|
|
|
runApplication -s 7 surfaceRefineRedGreen \
|
|
constant/triSurface/box_12_6.obj constant/triSurface/box_12_7.obj
|
|
|
|
runApplication -s 8 surfaceRefineRedGreen \
|
|
constant/triSurface/box_12_7.obj constant/triSurface/box_12_8.obj
|
|
|
|
runApplication -s 9 surfaceRefineRedGreen \
|
|
constant/triSurface/box_12_8.obj constant/triSurface/box_12_9.obj
|
|
|
|
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
|
|
|
|
runApplication decomposePar
|
|
|
|
runParallel -s parallel snappyHexMesh
|
|
|
|
#------------------------------------------------------------------------------
|