[Commits] [svn:einsteintoolkit] GRHydro/trunk/src/ (Rev. 313)
cott at tapir.caltech.edu
cott at tapir.caltech.edu
Wed Feb 8 19:03:16 CST 2012
User: cott
Date: 2012/02/08 07:03 PM
Modified:
/trunk/src/
GRHydro_EoSChangeGamma.F90
Log:
make EOS change work with MP
File Changes:
Directory: /trunk/src/
======================
File [modified]: GRHydro_EoSChangeGamma.F90
Delta lines: +53 -3
===================================================================
--- trunk/src/GRHydro_EoSChangeGamma.F90 2012-02-03 23:09:46 UTC (rev 312)
+++ trunk/src/GRHydro_EoSChangeGamma.F90 2012-02-09 01:03:16 UTC (rev 313)
@@ -148,6 +148,12 @@
implicit none
+ ! save memory when MP is not used
+ ! TARGET has to be before DECLARE_CCTK_ARGUMENTS for gcc 4.1
+ TARGET gaa, gab, gac, gbb, gbc, gcc
+ TARGET gxx, gxy, gxz, gyy, gyz, gzz
+ TARGET lvel, vel
+
DECLARE_CCTK_ARGUMENTS
DECLARE_CCTK_PARAMETERS
@@ -158,6 +164,11 @@
CCTK_REAL, dimension(cctk_lsh(1),cctk_lsh(2),cctk_lsh(3)) :: Q
+ ! save memory when MP is not used
+ CCTK_INT :: GRHydro_UseGeneralCoordinates
+ CCTK_REAL, DIMENSION(:,:,:), POINTER :: g11, g12, g13, g22, g23, g33
+ CCTK_REAL, DIMENSION(:,:,:,:), POINTER :: vup
+
!!$ Set up the fluid constants
! begin EOS Omni vars
integer :: n,keytemp,anyerr,keyerr(1)
@@ -174,12 +185,16 @@
local_Gamma = 1.0d0 + xpress/xeps
local_K = xpress
+ call CCTK_INFO("Adjusting EOS via K change!")
+
if (abs(local_Gamma - 2.d0) < 1.d-10) then
rho = -0.5d0/local_k+sqrt(0.25d0/local_k**2+(rho+initial_k*rho**2)/local_k)
else if (abs(local_Gamma - 3.d0) < 1.d-10) then
+ call CCTK_WARN(0, "This part of the code is not tested!")
+
!!$ This code is probably just wrong. We have never used it anyway.
Q = -9.d0 * local_k**2 * rho * (2.d0 + 3.d0 * initial_k * rho**2) + &
sqrt(local_k**3 * (32.d0 + 81.d0 * local_k * rho**2 * &
@@ -193,12 +208,47 @@
else
call CCTK_WARN(0, "EoSChangeK only knows how to do Gamma=2 or 3!")
end if
-
+
press = local_k * rho**local_gamma
- eps = local_k / (local_gamma - 1.d0) * rho**(local_gamma-1)
+ eps = local_k / (local_gamma - 1.d0) * rho**(local_gamma-1.0d0)
- call Primitive2ConservativePolyCells(CCTK_ARGUMENTS)
+ ! save memory when MP is not used
+ if (GRHydro_UseGeneralCoordinates(cctkGH).ne.0) then
+ g11 => gaa
+ g12 => gab
+ g13 => gac
+ g22 => gbb
+ g23 => gbc
+ g33 => gcc
+ vup => lvel
+ else
+ g11 => gxx
+ g12 => gxy
+ g13 => gxz
+ g22 => gyy
+ g23 => gyz
+ g33 => gzz
+ vup => vel
+ end if
+ do k = 1, cctk_lsh(3)
+ do j = 1, cctk_lsh(2)
+ do i = 1, cctk_lsh(1)
+
+ det = SPATIAL_DETERMINANT(g11(i,j,k),g12(i,j,k),g13(i,j,k),\
+ g22(i,j,k),g23(i,j,k),g33(i,j,k))
+ call prim2conpolytype(GRHydro_polytrope_handle,g11(i,j,k),g12(i,j,k),&
+ g13(i,j,k),g22(i,j,k),g23(i,j,k),g33(i,j,k),&
+ det, dens(i,j,k),sx(i,j,k),sy(i,j,k),sz(i,j,k),&
+ tau(i,j,k),rho(i,j,k),velx(i,j,k),vely(i,j,k),velz(i,j,k),&
+ eps(i,j,k),press(i,j,k),w_lorentz(i,j,k))
+
+ end do
+ end do
+ end do
+
+
+
end subroutine GRHydro_EoSChangeK
More information about the Commits
mailing list