0.6.0
Loading...
Searching...
No Matches
mod_lsm_reinitialization_hcr2 Module Reference

Reinitialization method using the HCR2 algorithm. More...

Functions/Subroutines

subroutine compute_levelset_reinitialization_hcr2 (my_levelset)
 
subroutine compute_hcr2_mask_gamma (phi, band, res)
 Compute the \(\gamma\) mask that equals 1 for every cut cell See eq. 13.
 
subroutine compute_hcr2_set_s (phi, mask_gamma, set_s, mask_m)
 Compute the set S and the associate value M as in eq. 10 The set S is of size (nx,ny,nz,dim*2) where S(i,j,k,:) = {x-,x+,y-,y+,z-,z+} where x+ = 1 only when phi(i,j,k)*phi(i+1,j,k)<=0 mask_m is the number of 1 in set_s.
 
subroutine compute_hcr2_r_tilde (phi, mask_gamma, set_s, res)
 Compute the r_tilde values as in eq. 19b.
 
subroutine compute_hcr2_mask_c (phi, mask_gamma, set_s, mask_c)
 Compute the C mask as in eq. 18.
 
subroutine compute_hcr2_forcing_term (phi, r_tilde, set_s, mask_c, res)
 Compute the forcing term F__ijk as in eq. 21b.
 

Detailed Description

Reinitialization method using the HCR2 algorithm.

Function/Subroutine Documentation

◆ compute_hcr2_forcing_term()

subroutine mod_lsm_reinitialization_hcr2::compute_hcr2_forcing_term ( double precision, dimension(:,:,:), intent(in) phi,
double precision, dimension(:,:,:), intent(in) r_tilde,
integer, dimension(:,:,:,:), intent(in) set_s,
integer, dimension(:,:,:), intent(in) mask_c,
double precision, dimension(:,:,:), intent(out) res )

Compute the forcing term F__ijk as in eq. 21b.

◆ compute_hcr2_mask_c()

subroutine mod_lsm_reinitialization_hcr2::compute_hcr2_mask_c ( double precision, dimension(:,:,:), intent(in) phi,
integer, dimension(:,:,:), intent(in) mask_gamma,
integer, dimension(:,:,:,:), intent(in) set_s,
integer, dimension(:,:,:), intent(out) mask_c )

Compute the C mask as in eq. 18.

◆ compute_hcr2_mask_gamma()

subroutine mod_lsm_reinitialization_hcr2::compute_hcr2_mask_gamma ( double precision, dimension(:,:,:), intent(in) phi,
integer, dimension(:,:,:), intent(in) band,
integer, dimension(:,:,:), intent(out) res )

Compute the \(\gamma\) mask that equals 1 for every cut cell See eq. 13.

◆ compute_hcr2_r_tilde()

subroutine mod_lsm_reinitialization_hcr2::compute_hcr2_r_tilde ( double precision, dimension(:,:,:), intent(in) phi,
integer, dimension(:,:,:), intent(in) mask_gamma,
integer, dimension(:,:,:,:), intent(in) set_s,
double precision, dimension(:,:,:), intent(out) res )

Compute the r_tilde values as in eq. 19b.

◆ compute_hcr2_set_s()

subroutine mod_lsm_reinitialization_hcr2::compute_hcr2_set_s ( double precision, dimension(:,:,:), intent(in) phi,
integer, dimension(:,:,:), intent(in) mask_gamma,
integer, dimension(:,:,:,:), intent(out) set_s,
integer, dimension(:,:,:), intent(out) mask_m )

Compute the set S and the associate value M as in eq. 10 The set S is of size (nx,ny,nz,dim*2) where S(i,j,k,:) = {x-,x+,y-,y+,z-,z+} where x+ = 1 only when phi(i,j,k)*phi(i+1,j,k)<=0 mask_m is the number of 1 in set_s.

◆ compute_levelset_reinitialization_hcr2()

subroutine mod_lsm_reinitialization_hcr2::compute_levelset_reinitialization_hcr2 ( class(t_levelset), intent(inout) my_levelset)

outside_band_mask: the mask