aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorbmundim <bmundim@ac85fae7-cede-4708-beff-ae01c7fa1c26>2011-04-28 00:50:07 +0000
committerbmundim <bmundim@ac85fae7-cede-4708-beff-ae01c7fa1c26>2011-04-28 00:50:07 +0000
commit58030c6ec544958da67c85831aa0e5024a5eff54 (patch)
tree79d70d877d245d20fb90625cc538641a967f784e
parent549e6e4f6553d23dd43bc0398f8cbbdd84b13e7b (diff)
Change of Con2Prim and Prim2Con interface.
git-svn-id: http://svn.einsteintoolkit.org/cactus/EinsteinInitialData/GRHydro_InitData/trunk@126 ac85fae7-cede-4708-beff-ae01c7fa1c26
-rw-r--r--interface.ccl21
-rw-r--r--src/GRHydro_C2P2CM.F9019
-rw-r--r--src/GRHydro_P2C2PM.F9020
-rw-r--r--src/GRHydro_P2C2PM_polytype.F9016
4 files changed, 60 insertions, 16 deletions
diff --git a/interface.ccl b/interface.ccl
index bb64579..3828f24 100644
--- a/interface.ccl
+++ b/interface.ccl
@@ -101,17 +101,35 @@ void FUNCTION Con2PrimGen(CCTK_INT INOUT handle, CCTK_REAL INOUT dens, \
void FUNCTION Con2PrimGenM(CCTK_INT INOUT handle, CCTK_REAL INOUT gamma_eos, CCTK_REAL INOUT dens, \
CCTK_REAL INOUT sx, CCTK_REAL INOUT sy, CCTK_REAL INOUT sz, \
- CCTK_REAL INOUT tau, CCTK_REAL INOUT rho, \
+ CCTK_REAL INOUT tau, CCTK_REAL INOUT Bconsx, CCTK_REAL INOUT Bconsy, CCTK_REAL INOUT Bconsz, \
+ CCTK_REAL INOUT rho, \
CCTK_REAL INOUT velx, CCTK_REAL INOUT vely, CCTK_REAL INOUT velz, \
CCTK_REAL INOUT epsilon, CCTK_REAL INOUT pressure, \
+ CCTK_REAL INOUT Bvecx, CCTK_REAL INOUT Bvecy, CCTK_REAL INOUT Bvecz, \
+ CCTK_REAL INOUT Bvecsq, \
CCTK_REAL INOUT w_lorentz, \
CCTK_REAL INOUT gxx, CCTK_REAL INOUT gxy, CCTK_REAL INOUT gxz, \
CCTK_REAL INOUT gyy, CCTK_REAL INOUT gyz, CCTK_REAL INOUT gzz, \
CCTK_REAL INOUT uxx, CCTK_REAL INOUT uxy, CCTK_REAL INOUT uxz, \
CCTK_REAL INOUT uyy, CCTK_REAL INOUT uyz, CCTK_REAL INOUT uzz, \
CCTK_REAL INOUT det, \
+ CCTK_INT OUT epsnegative, \
+ CCTK_REAL OUT retval)
+
+void FUNCTION Con2PrimPolyM(CCTK_INT INOUT handle, CCTK_REAL INOUT gamma_eos, CCTK_REAL INOUT dens, \
+ CCTK_REAL INOUT sx, CCTK_REAL INOUT sy, CCTK_REAL INOUT sz, \
+ CCTK_REAL INOUT sc, CCTK_REAL INOUT Bconsx, CCTK_REAL INOUT Bconsy, CCTK_REAL INOUT Bconsz, \
+ CCTK_REAL INOUT rho, \
+ CCTK_REAL INOUT velx, CCTK_REAL INOUT vely, CCTK_REAL INOUT velz, \
+ CCTK_REAL INOUT epsilon, CCTK_REAL INOUT pressure, \
CCTK_REAL INOUT Bvecx, CCTK_REAL INOUT Bvecy, CCTK_REAL INOUT Bvecz, \
CCTK_REAL INOUT Bvecsq, \
+ CCTK_REAL INOUT w_lorentz, \
+ CCTK_REAL INOUT gxx, CCTK_REAL INOUT gxy, CCTK_REAL INOUT gxz, \
+ CCTK_REAL INOUT gyy, CCTK_REAL INOUT gyz, CCTK_REAL INOUT gzz, \
+ CCTK_REAL INOUT uxx, CCTK_REAL INOUT uxy, CCTK_REAL INOUT uxz, \
+ CCTK_REAL INOUT uyy, CCTK_REAL INOUT uyz, CCTK_REAL INOUT uzz, \
+ CCTK_REAL INOUT det, \
CCTK_INT OUT epsnegative, \
CCTK_REAL OUT retval)
@@ -123,6 +141,7 @@ USES FUNCTION Prim2ConGenM
USES FUNCTION Con2PrimPoly
USES FUNCTION Con2PrimGen
USES FUNCTION Con2PrimGenM
+USES FUNCTION Con2PrimPolyM
CCTK_INT FUNCTION EOS_Omni_GetHandle(CCTK_STRING IN name)
USES FUNCTION EOS_Omni_GetHandle
diff --git a/src/GRHydro_C2P2CM.F90 b/src/GRHydro_C2P2CM.F90
index 6c4cd43..dcea38f 100644
--- a/src/GRHydro_C2P2CM.F90
+++ b/src/GRHydro_C2P2CM.F90
@@ -41,6 +41,7 @@ subroutine c2p2cM(CCTK_ARGUMENTS)
CCTK_REAL :: uxx,uxy,uxz,uyy,uyz,uzz
CCTK_REAL :: gxx_send,gxy_send,gxz_send,gyy_send,gyz_send,gzz_send
CCTK_REAL :: dens_send,sx_send,sy_send,sz_send,tau_send
+ CCTK_REAL :: bconsx_send, bconsy_send, bconsz_send
CCTK_REAL :: rho_send,velx_send,vely_send,velz_send,eps_send
CCTK_REAL :: press_send,w_lorentz_send,x_send,y_send,z_send,r_send
CCTK_REAL :: bvcx_send, bvcy_send, bvcz_send, b2_send
@@ -93,6 +94,9 @@ subroutine c2p2cM(CCTK_ARGUMENTS)
bvcx_send = Bx_init
bvcy_send = By_init
bvcz_send = Bz_init
+ bconsx_send = Bx_init
+ bconsy_send = By_init
+ bconsz_send = Bz_init
eps_send = 1.0d-6
press_send = 6.666666666666667d-7
@@ -124,6 +128,9 @@ subroutine c2p2cM(CCTK_ARGUMENTS)
write(*,*) ' sy : ',sy_send
write(*,*) ' sz : ',sz_send
write(*,*) ' tau : ',tau_send
+ write(*,*) ' Bconsx : ',bconsx_send
+ write(*,*) ' Bconsy : ',bconsy_send
+ write(*,*) ' Bconsz : ',bconsz_send
write(*,*) ' eps : ',eps_send
write(*,*) ' W : ',w_lorentz_send
write(*,*) ' Bvecx : ',bvcx_send
@@ -132,11 +139,10 @@ subroutine c2p2cM(CCTK_ARGUMENTS)
write(*,*) 'C2P2CM test: getting the associated primitive variables.'
call Con2PrimGenM(GRHydro_eos_handle,local_gam(1),dens_send,sx_send,sy_send,sz_send, &
- tau_send,rho_send,velx_send,vely_send,velz_send, &
- eps_send,press_send,w_lorentz_send, &
+ tau_send,bconsx_send,bconsy_send,bconsz_send,rho_send,velx_send,vely_send,velz_send, &
+ eps_send,press_send,bvcx_send,bvcy_send,bvcz_send,b2_send,w_lorentz_send, &
gxx_send,gxy_send,gxz_send,gyy_send,gyz_send,gzz_send,&
uxx,uxy,uxz,uyy,uyz,uzz,det,&
- bvcx_send,bvcy_send,bvcz_send,b2_send,&
epsnegative,C2P_failed)
write(*,*) 'C2P2CM test: the primitive variables are'
@@ -155,8 +161,8 @@ subroutine c2p2cM(CCTK_ARGUMENTS)
write(*,*) 'C2P2CM test: converting back to conserved variables.'
call Prim2ConGenM(GRHydro_eos_handle,gxx_send, gxy_send, gxz_send, gyy_send, gyz_send, gzz_send, det, &
- dens_send, sx_send, sy_send, sz_send, tau_send, bvcx_send, bvcy_send, bvcz_send, rho_send, &
- velx_send, vely_send, velz_send, eps_send, press_send, w_lorentz_send)
+ dens_send, sx_send, sy_send, sz_send, tau_send, bconsx_send, bconsy_send, bconsz_send, rho_send, &
+ velx_send, vely_send, velz_send, eps_send, press_send, bvcx_send, bvcy_send, bvcz_send, w_lorentz_send)
write(*,*) 'C2P2CM test: the conserved variables are'
write(*,*) ' conservative variables: '
@@ -165,6 +171,9 @@ subroutine c2p2cM(CCTK_ARGUMENTS)
write(*,*) ' sy : ',sy_send
write(*,*) ' sz : ',sz_send
write(*,*) ' tau : ',tau_send
+ write(*,*) ' Bconsx : ',bconsx_send
+ write(*,*) ' Bconsy : ',bconsy_send
+ write(*,*) ' Bconsz : ',bconsz_send
write(*,*) ' eps : ',eps_send
write(*,*) ' W : ',w_lorentz_send
write(*,*) ' Bvecx : ',bvcx_send
diff --git a/src/GRHydro_P2C2PM.F90 b/src/GRHydro_P2C2PM.F90
index 62c998b..15cacf0 100644
--- a/src/GRHydro_P2C2PM.F90
+++ b/src/GRHydro_P2C2PM.F90
@@ -40,6 +40,7 @@ subroutine p2c2pm(CCTK_ARGUMENTS)
CCTK_REAL :: uxx,uxy,uxz,uyy,uyz,uzz
CCTK_REAL :: gxx_send,gxy_send,gxz_send,gyy_send,gyz_send,gzz_send
CCTK_REAL :: dens_send,sx_send,sy_send,sz_send,tau_send
+ CCTK_REAL :: bconsx_send,bconsy_send,bconsz_send
CCTK_REAL :: rho_send(1),velx_send,vely_send,velz_send,eps_send(1)
CCTK_REAL :: press_send(1),w_lorentz_send,x_send,y_send,z_send,r_send
CCTK_REAL :: bvcx_send,bvcy_send,bvcz_send,b2_send
@@ -86,6 +87,9 @@ subroutine p2c2pm(CCTK_ARGUMENTS)
bvcx_send = Bx_init
bvcy_send = By_init
bvcz_send = Bz_init
+ bconsx_send = Bx_init
+ bconsy_send = By_init
+ bconsz_send = Bz_init
w_lorentz_send = 1.d0/sqrt(1.0d0-velx_send*velx_send-vely_send*vely_send-velz_send*velz_send)
@@ -127,8 +131,9 @@ subroutine p2c2pm(CCTK_ARGUMENTS)
call Prim2ConGenM(GRHydro_eos_handle,&
gxx_send,gxy_send,gxz_send,gyy_send,gyz_send,gzz_send,det, &
dens_send,sx_send,sy_send,sz_send,tau_send, &
- bvcx_send,bvcy_send,bvcz_send,rho_send(1), &
- velx_send,vely_send,velz_send,eps_send(1),press_send(1),w_lorentz_send)
+ bconsx_send,bcibsy_send,bconsz_send, &
+ rho_send(1),velx_send,vely_send,velz_send,eps_send(1),press_send(1), &
+ bvcx_send,bvcy_send,bvcz_send,w_lorentz_send)
write(*,*) 'P2C2PM test: initial values.'
write(*,*) ' conservative variables: '
@@ -137,6 +142,9 @@ subroutine p2c2pm(CCTK_ARGUMENTS)
write(*,*) ' sy : ',sy_send
write(*,*) ' sz : ',sz_send
write(*,*) ' tau : ',tau_send
+ write(*,*) ' Bconsx : ',bconsx_send
+ write(*,*) ' Bconsy : ',bconsy_send
+ write(*,*) ' Bconsz : ',bconsz_send
write(*,*) ' eps : ',eps_send
write(*,*) ' W : ',w_lorentz_send
write(*,*) ' Bvecx : ',bvcx_send
@@ -146,11 +154,13 @@ subroutine p2c2pm(CCTK_ARGUMENTS)
write(*,*) 'P2C2PM test: getting the associated primitive variables.'
call Con2PrimGenM(GRHydro_eos_handle,local_gam(1),dens_send,sx_send,sy_send,sz_send, &
- tau_send,rho_send(1),velx_send,vely_send,velz_send, &
- eps_send(1),press_send(1),w_lorentz_send, &
+ tau_send,bconsx_send,bconsy_send,bconsz_send,&
+ rho_send(1),velx_send,vely_send,velz_send, &
+ eps_send(1),press_send(1), &
+ bvcx_send,bvcy_send,bvcz_send,b2_send,&
+ w_lorentz_send, &
gxx_send,gxy_send,gxz_send,gyy_send,gyz_send,gzz_send,&
uxx,uxy,uxz,uyy,uyz,uzz,det,&
- bvcx_send,bvcy_send,bvcz_send,b2_send,&
epsnegative,C2P_failed)
write(*,*) 'P2C2PM test: the primitive variables are'
diff --git a/src/GRHydro_P2C2PM_polytype.F90 b/src/GRHydro_P2C2PM_polytype.F90
index a8d0e77..eec4d13 100644
--- a/src/GRHydro_P2C2PM_polytype.F90
+++ b/src/GRHydro_P2C2PM_polytype.F90
@@ -39,6 +39,7 @@ subroutine p2c2pm_polytype(CCTK_ARGUMENTS)
CCTK_REAL uxx,uxy,uxz,uyy,uyz,uzz
CCTK_REAL gxx_send,gxy_send,gxz_send,gyy_send,gyz_send,gzz_send
CCTK_REAL dens_send,sx_send,sy_send,sz_send,tau_send
+ CCTK_REAL bconsx_send,bconsy_send,bconsz_send
CCTK_REAL rho_send,velx_send,vely_send,velz_send,eps_send
CCTK_REAL press_send,w_lorentz_send,x_send,y_send,z_send,r_send
CCTK_REAL bvcx_send,bvcy_send,bvcz_send,b2_send
@@ -93,6 +94,9 @@ subroutine p2c2pm_polytype(CCTK_ARGUMENTS)
bvcx_send = Bx_init
bvcy_send = By_init
bvcz_send = Bz_init
+ bconsx_send = Bx_init
+ bconsy_send = By_init
+ bconsz_send = Bz_init
w_lorentz_send = 1.d0/sqrt(1.0d0-velx_send*velx_send-vely_send*vely_send-velz_send*velz_send)
@@ -133,8 +137,8 @@ subroutine p2c2pm_polytype(CCTK_ARGUMENTS)
write(*,*) 'P2C2PM test: converting back to conserved variables.'
call prim2conpolytypeM(GRHydro_polytrope_handle,gxx_send, gxy_send, gxz_send, gyy_send, gyz_send, gzz_send, det, &
- dens_send, sx_send, sy_send, sz_send, tau_send, bvcx_send, bvcy_send, bvcz_send, rho_send, &
- velx_send, vely_send, velz_send, eps_send, press_send, w_lorentz_send)
+ dens_send, sx_send, sy_send, sz_send, tau_send, bconsx_send, bconsy_send, bconsz_send, rho_send, &
+ velx_send, vely_send, velz_send, eps_send, press_send, bvcx_send, bvcy_send, bvcz_send, w_lorentz_send)
write(*,*) 'P2C2PM test: initial values.'
write(*,*) ' conservative variables: '
@@ -143,6 +147,9 @@ subroutine p2c2pm_polytype(CCTK_ARGUMENTS)
write(*,*) ' sy : ',sy_send
write(*,*) ' sz : ',sz_send
write(*,*) ' tau : ',tau_send
+ write(*,*) ' Bconsx : ',bconsx_send
+ write(*,*) ' Bconsy : ',bconsy_send
+ write(*,*) ' Bconsz : ',bconsz_send
write(*,*) ' eps : ',eps_send
write(*,*) ' W : ',w_lorentz_send
write(*,*) ' Bvecx : ',bvcx_send
@@ -154,11 +161,10 @@ subroutine p2c2pm_polytype(CCTK_ARGUMENTS)
write(*,*) 'P2C2PM test: getting the associated primitive variables.'
call GRHydro_Con2PrimM_Polytype_pt(GRHydro_polytrope_handle,local_gam,dens_send,sx_send,sy_send,sz_send, &
- sc_send,rho_send,velx_send,vely_send,velz_send, &
- eps_send,press_send,w_lorentz_send, &
+ sc_send,bconsx_send,bconsy_send,bconsz_send,rho_send,velx_send,vely_send,velz_send, &
+ eps_send,press_send,bvcx_send,bvcy_send,bvcz_send,b2_send,w_lorentz_send, &
gxx_send,gxy_send,gxz_send,gyy_send,gyz_send,gzz_send,&
uxx,uxy,uxz,uyy,uyz,uzz,det,&
- bvcx_send,bvcy_send,bvcz_send,b2_send,&
epsnegative,C2P_failed)
write(*,*) 'P2C2PM test: the primitive variables are'