lim_van_leer Function

private pure function lim_van_leer(r) result(phi)

van Leer smooth TVD limiter.

phi(r) = (r + |r|) / (1 + |r|) = 2·max(r,0) / (1 + |r|)

Smooth, symmetric, and achieves 2nd-order accuracy on smooth data. See van Leer (1974).

Arguments

Type IntentOptional Attributes Name
real(kind=wp), intent(in) :: r

Return Value real(kind=wp)