ENH: add directionalMeshWave functionality

For a given point within a given mesh, the existing `meshWave` method gives
  the orthogonal distance to a patch. In meshes with very steep terrain (e.g.
  a hill of 90 [deg], this might be problematic for the fields that require
  the distance to the patch associated with the terrain surface.

  `directionalMeshWave` is a variant of `meshWave` distance-to-patch method,
  which ignores the component in the specified direction. Can be used e.g. to
  calculate the distance in the z-direction only.

  TUT: add example of directionalMeshWave to mesh/moveDynamicMesh/SnakeCanyon

  Requirement by CENER
  Implementation by Mattijs Janssens
This commit is contained in:
Kutalmis Bercin
2020-04-16 12:02:43 +01:00
parent 50055b3d00
commit ea16cb4b29
15 changed files with 833 additions and 27 deletions

View File

@ -10,7 +10,6 @@ FoamFile
version 2.0;
format ascii;
class pointVectorField;
location "0";
object pointDisplacement;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //

View File

@ -0,0 +1,8 @@
#!/bin/sh
cd "${0%/*}" || exit # Run from this directory
. ${WM_PROJECT_DIR:?}/bin/tools/CleanFunctions # Tutorial clean functions
#------------------------------------------------------------------------------
cleanCase0
#------------------------------------------------------------------------------

View File

@ -0,0 +1,19 @@
#!/bin/sh
cd "${0%/*}" || exit # Run from this directory
. ${WM_PROJECT_DIR:?}/bin/tools/RunFunctions # Tutorial run functions
#------------------------------------------------------------------------------
restore0Dir
runApplication blockMesh
runApplication decomposePar
runParallel $(getApplication)
runParallel redistributePar -reconstruct
# test `directionalMeshWave`
runApplication checkMesh -writeAllFields -latestTime
#------------------------------------------------------------------------------

View File

@ -13,7 +13,6 @@ FoamFile
location "system";
object dynamicMeshDict;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
dynamicFvMesh dynamicMotionSolverFvMesh;

View File

@ -12,7 +12,6 @@ FoamFile
class dictionary;
object blockMeshDict;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
scale 1;

View File

@ -46,5 +46,11 @@ snGradSchemes
default corrected;
}
wallDist
{
method directionalMeshWave;
n (0 0 1);
}
// ************************************************************************* //