diff --git a/sources/schemes.F90 b/sources/schemes.F90 index 2e88729..e5c21eb 100644 --- a/sources/schemes.F90 +++ b/sources/schemes.F90 @@ -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,20 +3201,17 @@ 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(ibx) = ql(ibx,i) - qi(iby) = (sdr * ql(iby,i) + sdl * qr(iby,i)) / sds - qi(ibz) = (sdr * ql(ibz,i) + sdl * qr(ibz,i)) / sds - qi(ibp) = ql(ibp,i) + qi(idn) = sdl * sdr + qi(ivx:ivz) = sdl * ql(ivx:ivz,i) / sds + sdr * qr(ivx:ivz,i) / sds + qi(ibx) = ql(ibx,i) + qi(iby:ibz) = sdr * ql(iby:ibz,i) / sds + sdl * qr(iby:ibz,i) / sds + qi(ibp) = ql(ibp,i) ! prepare coefficients ! @@ -3364,27 +3357,24 @@ 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]) ! - 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) + pml) / sdl & - + (ur(ien,i) + qr(ipr,i) + pmr) / sdr) / sds - qi(ibx) = ql(ibx,i) - qi(iby) = (sdr * ql(iby,i) + sdl * qr(iby,i)) / sds - qi(ibz) = (sdr * ql(ibz,i) + sdl * qr(ibz,i)) / sds - qi(ibp) = ql(ibp,i) + 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) + pml) / sdl & + + (ur(ien,i) + qr(ipr,i) + pmr) / sdr) / sds + qi(ibx) = ql(ibx,i) + qi(iby:ibz) = sdr * ql(iby:ibz,i) / sds + sdl * qr(iby:ibz,i) / sds + qi(ibp) = ql(ibp,i) ! prepare coefficients !