ausm_plus Subroutine

private pure subroutine ausm_plus(q_L, q_R, flux, gam)

AUSM+ FDS scheme (AUSM family).

Computes the numerical flux at a cell interface given the reconstructed left and right conserved states Q_L and Q_R.

Interface sound speed (Liou 1996): c = sqrt(2(γ-1)/(γ+1) · H), c_½ = min(c²_L/max(c_L,|u_L|), c²_R/max(c*_R,|u_R|))

Split Mach polynomials at Mᵢ = uᵢ/c_½ (i = L, R): M± = ±(M±1)²/4 for |M|≤1, (M±|M|)/2 otherwise

Face flux: F_½ = ṁ φ_{upwind} + [0, p_½, 0]ᵀ ṁ = c_½ (M⁺(M_L) ρ_L + M⁻(M_R) ρ_R) p_½ = P⁺(M_L) p_L + P⁻(M_R) p_R φ = [1, u, H]ᵀ, selected from L or R by sign(ṁ) See Liou (1996), J. Comput. Phys. 129, 364–382.

Arguments

Type IntentOptional Attributes Name
real(kind=wp), intent(in) :: q_L(:)
real(kind=wp), intent(in) :: q_R(:)
real(kind=wp), intent(out) :: flux(:)
real(kind=wp), intent(in) :: gam

Ratio of specific heats