diff --git a/src/boundaries.F90 b/src/boundaries.F90 index 9ed495a..1ed7c40 100644 --- a/src/boundaries.F90 +++ b/src/boundaries.F90 @@ -2433,8 +2433,8 @@ module boundaries use coordinates , only : ng, im, ih, ib, ie, ieu & , nd, jm, jh, jb, je, jeu & , nh, km, kh, kb, ke, keu - use interpolations, only : minmod3 use equations , only : nv + use interpolations, only : limiter implicit none @@ -2711,16 +2711,16 @@ module boundaries dul = u(q,i ,j,k) - u(q,i-1,j,k) dur = u(q,i+1,j,k) - u(q,i ,j,k) - dux = 0.25d0 * minmod3(dul, dur) + dux = limiter(0.25d+00, dul, dur) dul = u(q,i,j ,k) - u(q,i,j-1,k) dur = u(q,i,j+1,k) - u(q,i,j ,k) - duy = 0.25d0 * minmod3(dul, dur) + duy = limiter(0.25d+00, dul, dur) #if NDIMS == 3 dul = u(q,i,j,k ) - u(q,i,j,k-1) dur = u(q,i,j,k+1) - u(q,i,j,k ) - duz = 0.25d0 * minmod3(dul, dur) + duz = limiter(0.25d+00, dul, dur) #endif /* NDIMS == 3 */ #if NDIMS == 2 diff --git a/src/interpolations.F90 b/src/interpolations.F90 index c06dc5d..df7a66c 100644 --- a/src/interpolations.F90 +++ b/src/interpolations.F90 @@ -57,7 +57,6 @@ module interpolations public :: initialize_interpolations, finalize_interpolations public :: reconstruct, limiter public :: fix_positivity - public :: minmod3 !- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ! @@ -519,46 +518,6 @@ module interpolations ! !=============================================================================== ! -! subroutine MINMOD3: -! ------------------ -! -! Function returns the minimum module value among two arguments and their -! average. -! -! Arguments: -! -! a, b - two real values; -! -! -!=============================================================================== -! - real(kind=8) function minmod3(a, b) - -! local variables are not implicit by default -! - implicit none - -! input arguments -! - real(kind=8), intent(in) :: a, b -! -!------------------------------------------------------------------------------- -! -! calculate the minimal module value -! - minmod3 = (sign(1.0d+00, a) + sign(1.0d+00, b)) & - * min(abs(a), abs(b), 2.5d-01 * abs(a + b)) - -! return the value -! - return - -!------------------------------------------------------------------------------- -! - end function minmod3 -! -!=============================================================================== -! ! subroutine FIX_POSITIVITY: ! ------------------------- ! diff --git a/src/mesh.F90 b/src/mesh.F90 index 7eaa86b..cbfe327 100644 --- a/src/mesh.F90 +++ b/src/mesh.F90 @@ -1044,8 +1044,8 @@ module mesh use blocks , only : block_meta, block_data, nchild use coordinates , only : ng, nh, in, jn, kn, im, jm, km use coordinates , only : ib, ie, jb, je, kb, ke - use interpolations, only : minmod3 use equations , only : nv + use interpolations, only : limiter implicit none @@ -1123,16 +1123,16 @@ module mesh dul = pdata%u(p,i ,j,k) - pdata%u(p,i-1,j,k) dur = pdata%u(p,i+1,j,k) - pdata%u(p,i ,j,k) - dux = 0.125d0 * minmod3(dul, dur) + dux = limiter(0.25d+00, dul, dur) dul = pdata%u(p,i,j ,k) - pdata%u(p,i,j-1,k) dur = pdata%u(p,i,j+1,k) - pdata%u(p,i,j ,k) - duy = 0.125d0 * minmod3(dul, dur) + duy = limiter(0.25d+00, dul, dur) #if NDIMS == 3 dul = pdata%u(p,i,j,k ) - pdata%u(p,i,j,k-1) dur = pdata%u(p,i,j,k+1) - pdata%u(p,i,j,k ) - duz = 0.125d0 * minmod3(dul, dur) + duz = limiter(0.25d+00, dul, dur) #endif /* NDIMS == 3 */ #if NDIMS == 2