ORGANIZE_CheckFreeSurface_Version

define version number for the free surface check

ORGANIZE_CheckFreeSurface_Version = 2 # classical version
Default: ORGANIZE_CheckFreeSurface_Version = 3 (version with the specific options below) Note:

General Functionality

The MESHFREE point \( \mathbf{x}\) is a free surface point, if its local Delaunay tetrahedralization contains open faces, i.e. if the ring of tetras around the point is not closed. Let us call the corner points of the i-th local tetra \( \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 by \( \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\), plus normalization. Curvature computation: (to follow)

Specific Options

The below options concern different ways of computing and admitting the Delaunay tetrahedralization.

ORGANIZE_CheckFreeSurface_Version = 30

  • Simple local Delaunay tetrahedralization
  • The tetras are not admissible if their circumference is bigger than dist_FS_from_BND * smoothingLength.

ORGANIZE_CheckFreeSurface_Version = 31

  • Add a ghost point in normal direction if the point was previously a free surface point, the ghost point status is like an interior point.
  • Run the 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 (original ORGANIZE_CheckFreeSurface_Version = 2)

  • 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) interior point.
  • Otherwise, the \( i\)-th tetra is not admissible if for some of its 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.

ORGANIZE_CheckFreeSurface_Version = 33 (same as default ORGANIZE_CheckFreeSurface_Version = 3)

  • 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) interior point.
  • Otherwise, the \( i\)-th tetra is not admissible if for some of its 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).

ORGANIZE_CheckFreeSurface_Version = 34

  • Add a ghost point in normal direction if the point was previously any non-interior point, the ghost point status is like an interior point.
  • Run the 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.
Note: For ORGANIZE_CheckFreeSurface_Version = 32x and ORGANIZE_CheckFreeSurface_Version = 33x, the last digit x defines the maximum allowed cosine-values (maxCos) for admissibility as described above with maxCos=-0.x