SCHEMES: Simplify symmetry preserving in riemann_hd_iso_kepes().

Signed-off-by: Grzegorz Kowal <grzegorz@amuncode.org>
This commit is contained in:
Grzegorz Kowal 2022-01-21 19:06:28 -03:00
parent 64d194933d
commit 889882c48f

View File

@ -1144,10 +1144,10 @@ module schemes
real(kind=8), dimension(:,:), intent(out) :: fi real(kind=8), dimension(:,:), intent(out) :: fi
integer :: i integer :: i
real(kind=8) :: v2l, v2r real(kind=8) :: v2l, v2r, cs
real(kind=8) :: dnl, dna, vxa, vya, vza real(kind=8) :: dnl, dna, vxa, vya, vza
real(kind=8), dimension(nf) :: v, lm, tm, dm real(kind=8), dimension(nf) :: v, lm, tm
logical , save :: first = .true. logical , save :: first = .true.
real(kind=8), dimension(4,4), save :: rm real(kind=8), dimension(4,4), save :: rm
@ -1185,7 +1185,9 @@ module schemes
v(ivy) = qr(ivy,i) - ql(ivy,i) v(ivy) = qr(ivy,i) - ql(ivy,i)
v(ivz) = qr(ivz,i) - ql(ivz,i) v(ivz) = qr(ivz,i) - ql(ivz,i)
lm(:) = [ vxa + csnd, vxa, vxa, vxa - csnd ] cs = sign(csnd, vxa)
lm(:) = [ vxa + cs, vxa, vxa, vxa - cs ]
tm(1) = 5.0d-01 * dnl / csnd2 tm(1) = 5.0d-01 * dnl / csnd2
tm(2) = dnl tm(2) = dnl
@ -1200,14 +1202,7 @@ module schemes
fi(imy,i) = fi(idn,i) * vya fi(imy,i) = fi(idn,i) * vya
fi(imz,i) = fi(idn,i) * vza fi(imz,i) = fi(idn,i) * vza
dm = (abs(lm) * tm) * matmul(v, rm) fi(:,i) = fi(:,i) - 5.0d-01 * matmul(rm, (abs(lm) * tm) * matmul(v, rm))
if (vxa >= 0.0d+00) then
dm = matmul(rm , dm )
else
dm = matmul(rm(:,nf:1:-1), dm(nf:1:-1))
end if
fi(:,i) = fi(:,i) - 5.0d-01 * dm(:)
end do end do