version 0.6.0
mod_lsm_reinitialization_tools Module Reference

Reinitialization common tools for algorithms.

Functions/Subroutines

subroutine compute_curvature_filter (levelset, band, kappa_max, filter)
 This routine fills the curvature filter. More...
 
subroutine compute_gradient_norm_error (phi, band, max_band_distance, error_l1l2linf, error_log)
 
subroutine compute_centered_gradient_norm_error (phi, band, max_band_distance, error_l1, error_l2, error_linf)
 
subroutine compute_gradient_norm_log_error (phi, band, max_band_distance, error_l1, error_l2, error_linf)
 
pure double precision function compute_godunov_hamiltonian (gradp, gradm, phi)
 
pure double precision function, dimension(size(gradp)) compute_hamiltonian_gradient (gradm, gradp, phi)
 
pure double precision function compute_ls_smooth_sign (phi, eps)
 
subroutine smooth_field_outside_band (levelset, band, mindx)
 

Function/Subroutine Documentation

◆ compute_curvature_filter()

subroutine mod_lsm_reinitialization_tools::compute_curvature_filter ( class(t_levelset), intent(in)  levelset,
integer, dimension(:,:,:), intent(in)  band,
double precision, intent(in)  kappa_max,
double precision, dimension(:,:,:), intent(inout)  filter 
)

The curvature filter is scalar field such that:

  • filter(i,j,k) = 1 when the curvature is lower than kappa_max
  • filter(i,j,k) = 0 when the curvature is (much) higher than kappa_max
  • has an exponential decrease in between
    Note
    This filter is used in the HJ equation to avoid to deteriorate the levelset whenever the curvature is too high, ie. for very small structures
    If kappa_max == 0 then the filter is 1