Compute the tau coefficient used in the WENO-Z alpha coefficients.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
integer(kind=I_P), | intent(in) | :: | S | Number of stencils used. |
||
real(kind=R_P), | intent(in) | :: | IS(0:S-1) | Smoothness indicators. |
Tau coefficient.
pure function tau(S, IS) result(w_tau)
!< Compute the tau coefficient used in the WENO-Z alpha coefficients.
integer(I_P), intent(in) :: S !< Number of stencils used.
real(R_P), intent(in) :: IS(0:S - 1) !< Smoothness indicators.
real(R_P) :: w_tau !< Tau coefficient.
w_tau = abs(IS(0) - (1-weno_odd(S))*IS(1) - (1-weno_odd(S))*IS(S-2_I_P) + (1-2*weno_odd(S))*IS(S-1_I_P))
endfunction tau