superbee Function

public pure function superbee(a, b)

Standard superbee limiter function.

Arguments

Type IntentOptional Attributes Name
real(kind=rk), intent(in) :: a
real(kind=rk), intent(in) :: b

Return Value real(kind=rk)


Source Code

   pure real(rk) function superbee(a, b)
      real(rk), intent(in) :: a, b
      real(rk) :: r
      if (a * b <= zero) then
         superbee = zero
      else
         r = a / b
         superbee = max(zero, min(2.0_rk * r, one), min(r, 2.0_rk))
      end if
   end function superbee