steger_warming_split_2d Subroutine

private subroutine steger_warming_split_2d(q, dir, gam, fp, fm)

Steger-Warming splitting: F± = R·diag(λ±)·R⁻¹·Q. Exact for the homogeneous Euler flux (F = A·Q); fp+fm == F to machine precision. Eigenvalue order: x → (u-c, u, u, u+c); y → (v-c, v, v, v+c). NOT pure: calls compute_eigensystem_2d which uses LAPACK.

Arguments

Type IntentOptional Attributes Name
real(kind=wp), intent(in) :: q(neq2d)
integer, intent(in) :: dir
real(kind=wp), intent(in) :: gam
real(kind=wp), intent(out) :: fp(neq2d)
real(kind=wp), intent(out) :: fm(neq2d)