From 25ea3c3daf1deb76fb83f242230b439570fc2af3 Mon Sep 17 00:00:00 2001 From: Grzegorz Kowal Date: Thu, 6 Jan 2022 16:32:58 -0300 Subject: [PATCH] =?UTF-8?q?EQUATIONS:=20Take=20into=20account=20=C2=BD?= =?UTF-8?q?=CF=88=C2=B2=20in=20total=20energy=20for=20adiabatic=20MHD.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Grzegorz Kowal --- sources/equations.F90 | 31 +++++++++++-------------------- 1 file changed, 11 insertions(+), 20 deletions(-) diff --git a/sources/equations.F90 b/sources/equations.F90 index 9f187ed..eed5ec1 100644 --- a/sources/equations.F90 +++ b/sources/equations.F90 @@ -2960,24 +2960,16 @@ module equations ! subroutine prim2cons_mhd_adi(q, u, s) -! local variables are not implicit by default -! implicit none -! input/output arguments -! real(kind=8), dimension(:,:), intent(in) :: q real(kind=8), dimension(:,:), intent(out) :: u logical , optional , intent(in) :: s -! local variables -! integer :: i, p - real(kind=8) :: ei, ek, em -! + real(kind=8) :: ei, ek, em, ep + !------------------------------------------------------------------------------- -! -! iterate over all positions ! do i = 1, size(q,2) @@ -2990,15 +2982,13 @@ module equations u(ibz,i) = q(ibz,i) u(ibp,i) = q(ibp,i) ei = gammam1i * q(ipr,i) - ek = 0.5d+00 * (u(imx,i) * q(ivx,i) + u(imy,i) * q(ivy,i) & - + u(imz,i) * q(ivz,i)) - em = 0.5d+00 * sum(q(ibx:ibz,i) * q(ibx:ibz,i)) - u(ien,i) = ei + ek + em + ek = sum(u(imx:imz,i) * q(ivx:ivz,i)) + em = sum(q(ibx:ibz,i) * q(ibx:ibz,i)) + ep = q(ibp,i) * q(ibp,i) + u(ien,i) = ei + 5.0d-01 * (ek + em + ep) end do -! update primitive passive scalars -! if (ns > 0 .and. present(s)) then if (s) then do p = isl, isu @@ -3036,7 +3026,7 @@ module equations integer , intent(out) :: s integer :: i, p - real(kind=8) :: ei, ek, em + real(kind=8) :: ei, ek, em, ep !------------------------------------------------------------------------------- ! @@ -3053,9 +3043,10 @@ module equations q(iby,i) = u(iby,i) q(ibz,i) = u(ibz,i) q(ibp,i) = u(ibp,i) - ek = 0.5d+00 * sum(u(imx:imz,i) * q(ivx:ivz,i)) - em = 0.5d+00 * sum(q(ibx:ibz,i) * q(ibx:ibz,i)) - ei = u(ien,i) - (ek + em) + ek = sum(u(imx:imz,i) * q(ivx:ivz,i)) + em = sum(q(ibx:ibz,i) * q(ibx:ibz,i)) + ep = q(ibp,i) * q(ibp,i) + ei = u(ien,i) - 5.0d-01 * (ek + em + ep) if (ei > 0.0d+00) then q(ipr,i) = gammam1 * ei else