ORGANIZE_CheckFreeSurface_Version
define version number for the free surface check
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.
-
- Simple local Delaunay tetrahedralization
- The tetras are 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 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.
-
- 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.
-
- 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).
-
- 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 = 32
x and
ORGANIZE_CheckFreeSurface_Version = 33
x, the last digit
x defines the maximum allowed cosine-values (maxCos) for admissibility as described above with maxCos=-0.
x