ORGANIZE_CheckFreeSurface_Version

define version number for the free-surface-check

ORGANIZE_CheckFreeSurface_Version = 2 # classical version
The default value is ORGANIZE_CheckFreeSurface_Version = 3 (new version with the options below) Other values than 3 will invoke the classical version (ORGANIZE_CheckFreeSurface_Version=2). compared to version 2, ORGANIZE_CheckFreeSurface_Version = 3 will: In general:
  • The MESHFREE point \( \mathbf{x}\) is a free surface point, if its local Delaunay tetrahedralization contains open faces, that means if the ring of tetras around the point is not closed.
  • Let us call the corner points of the i-th local tetra by \( \left\{ \mathbf{P}_i^0, \mathbf{P}_i^1, \mathbf{P}_i^2, \mathbf{P}_i^3 \right\}, i=1...N\), where \( \mathbf{P}_i^0\) is the central point around which the Delaunay cells are formed.
  • the boundary normal is computed from the normals of the open faces, that is (in 3D): \( \mathbf{n} = \sum \limits_{i=1}^N \sum \limits_{j=1}^3 (\mathbf{P}_i^j-\mathbf{P}_i^0) \times (\mathbf{P}_i^{j+1}-\mathbf{P}_i^0)\), with the definition \( \mathbf{P}_i^4 = \mathbf{P}_i^1\) Of course, \( \mathbf{n}\) will have to be normalized.
  • Curvature computation: (to follow)
  • The different options below concern different ways of computing and admitting the Delaunay tetrahedralization.
OPTIONs :
  • simple local Delaunay tetrahedralization,
  • the tetras is not admissible if their circumference is bigger than dist_FS_from_BND * smoothingLength.
  • add a ghost point in normal direction if the point was previously a free surface point, the ghost point status is like an inner point,
  • run local Delaunay tetrahedralization together with the ghost points,
  • tetras are not admissible, if their circumference is bigger than dist_FS_from_BND * smoothingLength,
  • tetras are not admissible, if all corner points were free surface points at the previous time step.
ORGANIZE_CheckFreeSurface_Version = 32 #(this is basically the original ORGANIZE_CheckFreeSurface_Version = 2)
  • tetras are not admissible if their circumference is bigger than dist_FS_from_BND * smoothingLength,
  • tetra always admissible if one of its corner points is a (previous) inner point,
  • otherwise the \( i\)-th tetra is not admissible if for some of their corner points \( j\) we have \( \mathbf{n}_i^j \cdot ( \mathbf{x}_i^0-\mathbf{P}_i^j ) < \text{maxCos}\) (the normal looks "away" from the center of the circumcircle) where \( \mathbf{n}_i^j\) is the computed normal of the previous time step (the point being a former free surface point) or the wall normal (the point being a regular wall point), \( \mathbf{x}_i^0\) is the center of the circumcircle of the tetra.
  • tetras are not admissible if their circumference is bigger than dist_FS_from_BND * smoothingLength,
  • a tetra is always admissible if one of its corner points is a (previous) inner point,
  • otherwise the \( i\)-th tetra is not admissible if for some of their corner points \( j\) we have \( \max \limits_{ k=1...4 , k \ne j }\left( \mathbf{n}_i^j \cdot ( \mathbf{P}_i^k-\mathbf{P}_i^j ) \right) < \text{maxCos}\) (all corner points look "away" from the normal) where \( \mathbf{n}_i^j\) is the computed normal of the previous time step (the point being a former free surface point) or the wall normal (the point being a regular wall point).
  • add a ghost point in normal direction if the point was previously any non-interior point, the ghost point status is like an inner point,
  • run local Delaunay tetrahedralization together with the ghost points,
  • tetras are not admissible, if their circumference is bigger than dist_FS_from_BND * smoothingLength,
  • tetras are not admissible, if all corner points were free surface points at the previous time step.
for version 2 and 3: ORGANIZE_CheckFreeSurface_Version = 32x ORGANIZE_CheckFreeSurface_Version = 33x the last digits define the maximum allowed cosine-values (maxCos) for admissibility as described above: maxCos=-0.x