SCHEMES: Make HD ROE solvers numerically symmetric.
Signed-off-by: Grzegorz Kowal <grzegorz@amuncode.org>
This commit is contained in:
parent
56fb625e59
commit
7fdac2f584
@ -2957,16 +2957,14 @@ module schemes
|
||||
|
||||
! calculate variables for the Roe intermediate state
|
||||
!
|
||||
sdl = sqrt(ql(idn,i))
|
||||
sdr = sqrt(qr(idn,i))
|
||||
sds = sdl + sdr
|
||||
sdl = sqrt(ql(idn,i))
|
||||
sdr = sqrt(qr(idn,i))
|
||||
sds = sdl + sdr
|
||||
|
||||
! prepare the Roe intermediate state vector (eq. 11.60 in [2])
|
||||
!
|
||||
qi(idn) = sdl * sdr
|
||||
qi(ivx) = (sdl * ql(ivx,i) + sdr * qr(ivx,i)) / sds
|
||||
qi(ivy) = (sdl * ql(ivy,i) + sdr * qr(ivy,i)) / sds
|
||||
qi(ivz) = (sdl * ql(ivz,i) + sdr * qr(ivz,i)) / sds
|
||||
qi(idn) = sdl * sdr
|
||||
qi(ivx:ivz) = sdl * ql(ivx:ivz,i) / sds + sdr * qr(ivx:ivz,i) / sds
|
||||
|
||||
! obtain eigenvalues and eigenvectors
|
||||
!
|
||||
@ -3080,18 +3078,16 @@ module schemes
|
||||
|
||||
! calculate variables for the Roe intermediate state
|
||||
!
|
||||
sdl = sqrt(ql(idn,i))
|
||||
sdr = sqrt(qr(idn,i))
|
||||
sds = sdl + sdr
|
||||
sdl = sqrt(ql(idn,i))
|
||||
sdr = sqrt(qr(idn,i))
|
||||
sds = sdl + sdr
|
||||
|
||||
! prepare the Roe intermediate state vector (eq. 11.60 in [2])
|
||||
!
|
||||
qi(idn) = sdl * sdr
|
||||
qi(ivx) = (sdl * ql(ivx,i) + sdr * qr(ivx,i)) / sds
|
||||
qi(ivy) = (sdl * ql(ivy,i) + sdr * qr(ivy,i)) / sds
|
||||
qi(ivz) = (sdl * ql(ivz,i) + sdr * qr(ivz,i)) / sds
|
||||
qi(ipr) = ((ul(ien,i) + ql(ipr,i)) / sdl &
|
||||
+ (ur(ien,i) + qr(ipr,i)) / sdr) / sds
|
||||
qi(idn) = sdl * sdr
|
||||
qi(ivx:ivz) = sdl * ql(ivx:ivz,i) / sds + sdr * qr(ivx:ivz,i) / sds
|
||||
qi(ipr) = ((ul(ien,i) + ql(ipr,i)) / sdl &
|
||||
+ (ur(ien,i) + qr(ipr,i)) / sdr) / sds
|
||||
|
||||
! obtain eigenvalues and eigenvectors
|
||||
!
|
||||
@ -3205,9 +3201,9 @@ module schemes
|
||||
|
||||
! calculate variables for the Roe intermediate state
|
||||
!
|
||||
sdl = sqrt(ql(idn,i))
|
||||
sdr = sqrt(qr(idn,i))
|
||||
sds = sdl + sdr
|
||||
sdl = sqrt(ql(idn,i))
|
||||
sdr = sqrt(qr(idn,i))
|
||||
sds = sdl + sdr
|
||||
|
||||
! prepare the Roe intermediate state vector (eq. 11.60 in [2])
|
||||
!
|
||||
@ -3361,14 +3357,14 @@ module schemes
|
||||
|
||||
! calculate variables for the Roe intermediate state
|
||||
!
|
||||
sdl = sqrt(ql(idn,i))
|
||||
sdr = sqrt(qr(idn,i))
|
||||
sds = sdl + sdr
|
||||
sdl = sqrt(ql(idn,i))
|
||||
sdr = sqrt(qr(idn,i))
|
||||
sds = sdl + sdr
|
||||
|
||||
! prepare magnetic pressures
|
||||
!
|
||||
pml = 0.5d+00 * sum(ql(ibx:ibz,i)**2)
|
||||
pmr = 0.5d+00 * sum(qr(ibx:ibz,i)**2)
|
||||
pml = 0.5d+00 * sum(ql(ibx:ibz,i)**2)
|
||||
pmr = 0.5d+00 * sum(qr(ibx:ibz,i)**2)
|
||||
|
||||
! prepare the Roe intermediate state vector (eq. 11.60 in [2])
|
||||
!
|
||||
|
Loading…
x
Reference in New Issue
Block a user