@@ -148,6 +148,7 @@ module m_global_parameters
148148 logical :: nv_uvm_pref_gpu !< Enable explicit gpu memory hints (default FALSE)
149149 !> @}
150150
151+ real (wp) :: muscl_eps !< MUSCL limiter slope- product threshold
151152 real (wp) :: weno_eps !< Binding for the WENO nonlinear weights
152153 real (wp) :: teno_CT !< Smoothness threshold for TENO
153154 logical :: mp_weno !< Monotonicity preserving (MP) WENO
@@ -197,6 +198,7 @@ module m_global_parameters
197198 $:GPU_DECLARE(create= ' [recon_type, muscl_order, muscl_polyn, muscl_lim]' )
198199 #:endif
199200
201+ $:GPU_DECLARE(create= ' [muscl_eps]' )
200202 $:GPU_DECLARE(create= ' [mpp_lim, model_eqns, mixture_err, alt_soundspeed]' )
201203 $:GPU_DECLARE(create= ' [avg_state, mp_weno, weno_eps, teno_CT, hypoelasticity]' )
202204 $:GPU_DECLARE(create= ' [hyperelasticity, hyper_model, elasticity, low_Mach]' )
@@ -521,6 +523,7 @@ contains
521523 model_eqns = dflt_int
522524 mpp_lim = .false.
523525 time_stepper = dflt_int
526+ muscl_eps = dflt_real
524527 weno_eps = dflt_real
525528 teno_CT = dflt_real
526529 mp_weno = .false.
@@ -856,6 +859,15 @@ contains
856859 $:GPU_UPDATE(device=' [igr, igr_order, igr_iter_solver]' )
857860 #:endif
858861
862+ ! muscl_eps: use per-limiter defaults when user did not set it
863+ if (f_is_default(muscl_eps)) then
864+ if (muscl_lim <= 2) then
865+ muscl_eps = 1e-9_wp ! minmod, MC
866+ else
867+ muscl_eps = 1e-6_wp ! Van Albada, Van Leer, SUPERBEE
868+ end if
869+ end if
870+
859871 ! Initialize counts: viscous fluids, surface-tension interfaces, curvature interfaces
860872 Re_size = 0
861873 Re_size_max = 0
@@ -1220,6 +1232,7 @@ contains
12201232 $:GPU_UPDATE(device=' [num_fluids, num_dims, viscous, num_vels, nb, muscl_lim]' )
12211233 #:endif
12221234
1235+ $:GPU_UPDATE(device=' [muscl_eps]' )
12231236 $:GPU_UPDATE(device=' [dir_idx, dir_flg, dir_idx_tau]' )
12241237
12251238 $:GPU_UPDATE(device=' [relax, relax_model, palpha_eps, ptgalpha_eps]' )
0 commit comments