Volume fraction methods for level sets. More...
Topics | |
Heaviside Volume Fraction | |
Regularization tools. | |
Min&Gibou Volume Fraction | |
Volume fraction computation with sharp 'Min&Gibou' approach. | |
Towers Volume Fraction | |
Volume fraction computations with the Towers' Heaviside approach. | |
Namespaces | |
module | mod_lsm_geometry_dirac |
Dirac mass approximation. | |
module | mod_lsm_volume_fraction |
Wrappers for volume fraction computation. | |
module | mod_lsm_volume_fraction_bc |
Compute the volume fraction boundary conditions corresponding to the level set's bc. | |
Functions | |
subroutine | mod_lsm_geometry_dirac::lsm_compute_dirac (self, dirac) |
Compute the dirac mass associated to the level set. | |
subroutine | mod_lsm_volume_fraction::levelset_compute_volume_fraction_inline (levelset, vf_boundary_condition) |
Compute the volume fraction within the object. | |
subroutine | mod_lsm_volume_fraction::levelset_compute_volume_fraction_outline (levelset, vf_boundary_condition, volume_fraction) |
Compute the volume fraction with a selected method. | |
subroutine | mod_lsm_volume_fraction_bc::translate_vf_bc_to_ls_bc (phi, vf_boundary_condition, ls_boundary_condition) |
Translate VF boundary conditions to equivalent LS boundary conditions. | |
Volume fraction methods for level sets.
The volume fraction (VF) can be computed from the LS with several strategies. We furnish 3 methods:
subroutine mod_lsm_volume_fraction_bc::translate_vf_bc_to_ls_bc | ( | double precision, dimension(:,:,:), intent(in) | phi, |
type(t_boundary_condition), intent(in) | vf_boundary_condition, | ||
type(t_boundary_condition), intent(inout) | ls_boundary_condition ) |
Translate VF boundary conditions to equivalent LS boundary conditions.
inlet
in Notus) are given a value of 1 or 0. The associated LS BNDC is a bit tricky, as the inside/outside a phase is defined implicitly by the LS sign. To do so, we first extrapolate from the inside the LS towards the boundary and, depending on the sign, make sure that the LS BNDC is of the correct sign. Formulae: \[ \begin{cases} max\left(\delta x,\phi_{e}\right) & \text{if \ensuremath{VF=0}}\\ min\left(-\delta x,\phi_{e}\right) & \text{if \ensuremath{VF=1}}\\ 0 & \text{otherwise} \end{cases} \]
where \( \phi_e \) is the extraplated value of the LS at the boundary.