version 0.6.0
mod_lsm_reinitialization_hj Module Reference

Reinitialization method using the classic HJ algorithm.

Functions/Subroutines

subroutine compute_levelset_reinitialization_hj (my_levelset)
 
subroutine levelset_reinitialize_hj (my_levelset, band)
 
subroutine integrate_filtered_hj_equation (phi_0, phi_n, band, filter, dtau, my_levelset)
 Integrate with Euler time scheme the HJ equation. More...
 
subroutine integrate_filtered_hj_equation_rk2 (phi_0, phi_n, band, filter, dtau, my_levelset)
 Integrate with RK2 time scheme the HJ equation. More...
 
subroutine integrate_filtered_hj_equation_rk2_tvd (phi_0, phi_n, band, filter, dtau, my_levelset)
 Integrate with TVD RK2 time scheme the HJ equation. More...
 

Function/Subroutine Documentation

◆ integrate_filtered_hj_equation()

subroutine mod_lsm_reinitialization_hj::integrate_filtered_hj_equation ( double precision, dimension(:,:,:), intent(in)  phi_0,
double precision, dimension(:,:,:), intent(in)  phi_n,
integer, dimension(:,:,:), intent(in)  band,
double precision, dimension(:,:,:), intent(in)  filter,
double precision, intent(in)  dtau,
class(t_levelset), intent(inout)  my_levelset 
)
Note
Before we were using WENO5 when the band==1 and WENO3 in the band==2 (nothing elsewhere) but this seems to be very unstable. Now we are only using WENO5 in the whole band.

◆ integrate_filtered_hj_equation_rk2()

subroutine mod_lsm_reinitialization_hj::integrate_filtered_hj_equation_rk2 ( double precision, dimension(:,:,:), intent(in)  phi_0,
double precision, dimension(:,:,:), intent(in)  phi_n,
integer, dimension(:,:,:), intent(in)  band,
double precision, dimension(:,:,:), intent(in)  filter,
double precision, intent(in)  dtau,
class(t_levelset), intent(inout)  my_levelset 
)
Note
Before we were using WENO5 when the band==1 and WENO3 in the band==2 (nothing elsewhere) but this seems to be very unstable. Now we are only using WENO5 in the whole band.

◆ integrate_filtered_hj_equation_rk2_tvd()

subroutine mod_lsm_reinitialization_hj::integrate_filtered_hj_equation_rk2_tvd ( double precision, dimension(:,:,:), intent(in)  phi_0,
double precision, dimension(:,:,:), intent(in)  phi_n,
integer, dimension(:,:,:), intent(in)  band,
double precision, dimension(:,:,:), intent(in)  filter,
double precision, intent(in)  dtau,
class(t_levelset), intent(inout)  my_levelset 
)
Note
Before we were using WENO5 when the band==1 and WENO3 in the band==2 (nothing elsewhere) but this seems to be very unstable. Now we are only using WENO5 in the whole band.

◆ levelset_reinitialize_hj()

subroutine mod_lsm_reinitialization_hj::levelset_reinitialize_hj ( class(t_levelset), intent(inout)  my_levelset,
integer, dimension(:,:,:), intent(in)  band 
)

outside_band_mask: the mask