aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorrhaas <rhaas@c83d129a-5a75-4d5a-9c4d-ed3a5855bf45>2013-05-13 18:11:19 +0000
committerrhaas <rhaas@c83d129a-5a75-4d5a-9c4d-ed3a5855bf45>2013-05-13 18:11:19 +0000
commitdc1df2f8aad2f1d572924bcf8ddea5caf035e8c9 (patch)
tree82f8fb61bc253d79acd5729331f8cda1b9495095
parentf5889198e14b50f4b7dd31ae7d7469ff582c9ecc (diff)
GRHydro: remove duplicate (and incorrect) GRHydro_InterfacesAM.h
sync up GRHydro_Con2PrimAM with GRHydro_Con2PrimM git-svn-id: http://svn.einsteintoolkit.org/cactus/EinsteinEvolve/GRHydro/trunk@517 c83d129a-5a75-4d5a-9c4d-ed3a5855bf45
-rw-r--r--src/GRHydro_Con2PrimAM.F9041
-rw-r--r--src/GRHydro_InterfacesAM.h95
2 files changed, 35 insertions, 101 deletions
diff --git a/src/GRHydro_Con2PrimAM.F90 b/src/GRHydro_Con2PrimAM.F90
index 6b8d894..7d2103e 100644
--- a/src/GRHydro_Con2PrimAM.F90
+++ b/src/GRHydro_Con2PrimAM.F90
@@ -13,7 +13,6 @@
#include "cctk_Arguments.h"
#include "cctk_Functions.h"
#include "SpaceMask.h"
-#include "GRHydro_InterfacesAM.h"
#include "GRHydro_Macros.h"
#define ITER_TOL (1.0e-8)
@@ -349,6 +348,18 @@ subroutine Conservative2PrimitiveAM(CCTK_ARGUMENTS)
!of the comoving B-field, b^{\mu} b_{\mu}. It is overwritten
!in this routine, but we may need to find a better notation
!avoid future confusions.
+ if(GRHydro_eos_handle .eq. 1 .or. GRHydro_eos_handle .eq. 2) then
+
+ call GRHydro_Con2PrimM_ptold(GRHydro_eos_handle, local_gam(1), dens(i,j,k), &
+ scon(i,j,k,1),scon(i,j,k,2),scon(i,j,k,3), tau(i,j,k), &
+ Bconsx_tmp,Bconsy_tmp,Bconsz_tmp,rho_tmp, &
+ velx_tmp,vely_tmp,velz_tmp,eps_tmp,press_tmp, &
+ Bvecx_tmp,Bvecy_tmp,Bvecz_tmp,b2, w_lorentz_tmp,&
+ g11(i,j,k),g12(i,j,k),g13(i,j,k),g22(i,j,k),g23(i,j,k),g33(i,j,k), &
+ uxx,uxy,uxz,uyy,uyz,uzz,det, &
+ epsnegative,GRHydro_C2P_failed(i,j,k))
+
+ else
call GRHydro_Con2PrimM_pt2(GRHydro_eos_handle, keytemp, GRHydro_eos_rf_prec, GRHydro_perc_ptol, local_gam(1), dens(i,j,k), &
scon(i,j,k,1),scon(i,j,k,2),scon(i,j,k,3), tau(i,j,k), &
Bconsx_tmp, Bconsy_tmp, Bconsz_tmp,xye(1), &
@@ -358,9 +369,16 @@ subroutine Conservative2PrimitiveAM(CCTK_ARGUMENTS)
g22(i,j,k),g23(i,j,k),g33(i,j,k), &
uxx,uxy,uxz,uyy,uyz,uzz,det, &
epsnegative,GRHydro_C2P_failed(i,j,k))
+ endif
if(evolve_entropy.ne.0) then
+ if(GRHydro_C2P_failed(i,j,k).ne.0) then
+ !Use previous time step for rho:
entropy(i,j,k) = entropycons(i,j,k)/dens(i,j,k)*rho(i,j,k)
+ else
+ !Use the current correct value of rho returned by con2prim:
+ entropy(i,j,k) = entropycons(i,j,k)/dens(i,j,k)*rho_tmp
+ endif
endif
if(GRHydro_C2P_failed(i,j,k).ne.0) then
@@ -449,6 +467,19 @@ subroutine Conservative2PrimitiveAM(CCTK_ARGUMENTS)
Bconsy_tmp = sdet*Bvecy_tmp
Bconsz_tmp = sdet*Bvecz_tmp
+ if(evolve_entropy.ne.0) then
+ call GRHydro_Con2PrimM_ptee(GRHydro_eos_handle, keytemp, &
+ GRHydro_eos_rf_prec, local_gam(1), dens(i,j,k), &
+ scon(i,j,k,1),scon(i,j,k,2),scon(i,j,k,3), tau(i,j,k), &
+ Bconsx_tmp,Bconsy_tmp,Bconsz_tmp, &
+ entropycons(i,j,k), xye(1), &
+ xtemp(1),rho_tmp,velx_tmp,vely_tmp,velz_tmp,&
+ eps_tmp,press_tmp,Bvecx_tmp,Bvecy_tmp,Bvecz_tmp,b2,&
+ w_lorentz_tmp,g11(i,j,k),g12(i,j,k),g13(i,j,k),&
+ g22(i,j,k),g23(i,j,k),g33(i,j,k), &
+ uxx,uxy,uxz,uyy,uyz,uzz,det, &
+ epsnegative,GRHydro_C2P_failed(i,j,k))
+ else
call GRHydro_Con2PrimM_Polytype_pt(GRHydro_eos_handle, local_pgam, &
dens(i,j,k),scon(i,j,k,1),scon(i,j,k,2),scon(i,j,k,3), sc, &
Bconsx_tmp, Bconsy_tmp, Bconsz_tmp, rho_tmp,&
@@ -457,6 +488,7 @@ subroutine Conservative2PrimitiveAM(CCTK_ARGUMENTS)
g11(i,j,k),g12(i,j,k),g13(i,j,k),g22(i,j,k),g23(i,j,k),g33(i,j,k), &
uxx,uxy,uxz,uyy,uyz,uzz,det, &
epsnegative,GRHydro_C2P_failed(i,j,k))
+ end if
rho(i,j,k) = rho_tmp
press(i,j,k) = press_tmp
@@ -682,11 +714,7 @@ subroutine Conservative2PrimitiveAM(CCTK_ARGUMENTS)
!!$ tau does need to take into account the existing B-field
!!$ with w_lorentz=1, we find tau = sqrtdet*(rho (1+eps+b^2/2)) - dens [Press drops out]
- tau(i,j,k) = sdet * (rho(i,j,k)*(1.0+eps(i,j,k)+b2/2.0)) - dens(i,j,k)
-
- if(tau(i,j,k).le.sdet*b2*0.5d0)then
- tau(i,j,k) = GRHydro_tau_min + sdet*b2*0.5d0
- endif
+ tau(i,j,k) = sdet * (rho(i,j,k)*eps(i,j,k)+b2/2.0)
end if
@@ -870,6 +898,7 @@ subroutine Conservative2PrimitiveBoundsAM(CCTK_ARGUMENTS)
if(evolve_Y_e.ne.0) then
Y_e(i,j,k) = Y_e_con(i,j,k) / dens(i,j,k)
endif
+
Bconsx_tmp = sqrt(avg_detl)*Bvecxminus(i,j,k)
Bconsy_tmp = sqrt(avg_detl)*Bvecyminus(i,j,k)
Bconsz_tmp = sqrt(avg_detl)*Bveczminus(i,j,k)
diff --git a/src/GRHydro_InterfacesAM.h b/src/GRHydro_InterfacesAM.h
deleted file mode 100644
index 154b8fc..0000000
--- a/src/GRHydro_InterfacesAM.h
+++ /dev/null
@@ -1,95 +0,0 @@
-module Con2PrimAM_fortran_interfaces
- implicit none
-
- interface
-
- subroutine GRHydro_Con2PrimM_pt( handle, keytemp, prec, &
- local_gam, dens, &
- sx, sy, sz, &
- tau, &
- Bconsx, Bconsy, Bconsz, &
- xye, xtemp, &
- rho, &
- velx, vely, velz,&
- epsilon, pressure,&
- Bx, By, Bz, &
- bsq,&
- w_lorentz, &
- gxx, gxy, gxz, &
- gyy, gyz, gzz, &
- uxx, uxy, uxz,&
- uyy, uyz, uzz,&
- det,&
- epsnegative, &
- retval)
-
- implicit none
- CCTK_INT handle
- CCTK_INT keytemp
- CCTK_REAL prec
- CCTK_REAL local_gam
- CCTK_REAL dens
- CCTK_REAL sx, sy, sz
- CCTK_REAL tau
- CCTK_REAL Bconsx, Bconsy, Bconsz
- CCTK_REAL xye
- CCTK_REAL xtemp
- CCTK_REAL rho
- CCTK_REAL velx, vely, velz
- CCTK_REAL epsilon, pressure
- CCTK_REAL Bx, By, Bz
- CCTK_REAL bsq
- CCTK_REAL w_lorentz
- CCTK_REAL gxx, gxy, gxz
- CCTK_REAL gyy, gyz, gzz
- CCTK_REAL uxx, uxy, uxz
- CCTK_REAL uyy, uyz, uzz
- CCTK_REAL det
- CCTK_INT epsnegative
- CCTK_REAL retval
- end subroutine GRHydro_Con2PrimM_pt
-
- subroutine GRHydro_Con2PrimM_Polytype_pt( handle, local_gam,&
- dens, &
- sx, sy, sz, &
- sc, &
- Bconsx, Bconsy, Bconsz, &
- rho, &
- velx, vely, velz,&
- epsilon, pressure,&
- Bx, By, Bz, &
- bsq,&
- w_lorentz, &
- gxx, gxy, gxz, &
- gyy, gyz, gzz, &
- uxx, uxy, uxz,&
- uyy, uyz, uzz,&
- det,&
- epsnegative, &
- retval)
-
- implicit none
- CCTK_INT handle
- CCTK_REAL local_gam
- CCTK_REAL dens
- CCTK_REAL sx, sy, sz
- CCTK_REAL sc
- CCTK_REAL Bconsx, Bconsy, Bconsz
- CCTK_REAL rho
- CCTK_REAL velx, vely, velz
- CCTK_REAL epsilon, pressure
- CCTK_REAL Bx, By, Bz
- CCTK_REAL bsq
- CCTK_REAL w_lorentz
- CCTK_REAL gxx, gxy, gxz
- CCTK_REAL gyy, gyz, gzz
- CCTK_REAL uxx, uxy, uxz
- CCTK_REAL uyy, uyz, uzz
- CCTK_REAL det
- CCTK_INT epsnegative
- CCTK_REAL retval
- end subroutine GRHydro_Con2PrimM_Polytype_pt
-
- end interface
-
-end module Con2PrimAM_fortran_interfaces