diff options
author | cott <cott@c83d129a-5a75-4d5a-9c4d-ed3a5855bf45> | 2010-12-21 06:52:27 +0000 |
---|---|---|
committer | cott <cott@c83d129a-5a75-4d5a-9c4d-ed3a5855bf45> | 2010-12-21 06:52:27 +0000 |
commit | 1c102be4cab3343de4da4d1fc3657e3b2f85d043 (patch) | |
tree | 35ba67b802b8d69abf94700dd9df2d9096a54bbe /src/GRHydro_Con2Prim.F90 | |
parent | fb77adb61072dcb5269afeb86007f57a6f9ecbd6 (diff) |
* improve thread safety of hot c2p routine
git-svn-id: http://svn.einsteintoolkit.org/cactus/EinsteinEvolve/GRHydro/trunk@192 c83d129a-5a75-4d5a-9c4d-ed3a5855bf45
Diffstat (limited to 'src/GRHydro_Con2Prim.F90')
-rw-r--r-- | src/GRHydro_Con2Prim.F90 | 18 |
1 files changed, 10 insertions, 8 deletions
diff --git a/src/GRHydro_Con2Prim.F90 b/src/GRHydro_Con2Prim.F90 index b629b32..39447f1 100644 --- a/src/GRHydro_Con2Prim.F90 +++ b/src/GRHydro_Con2Prim.F90 @@ -490,6 +490,8 @@ subroutine Con2Prim_pt_hot(ii,jj,kk,handle, dens, sx, sy, sz, tau, rho, velx, ve CCTK_REAL GRHydro_C2P_failed CCTK_REAL udens, usx, usy, usz, utau, pold, pnew, epsold, epsnew, w2, & w2mhalf, temp1, drhobydpress, depsbydpress, dpressbydeps, dpressbydrho, pmin, epsmin + CCTK_REAL epsminl,pminl + character(len=200) warnline logical epsnegative @@ -506,8 +508,8 @@ subroutine Con2Prim_pt_hot(ii,jj,kk,handle, dens, sx, sy, sz, tau, rho, velx, ve ! end EOS Omni vars ! set pmin and epsmin to something sensible: - pmin = 1.0d-28 - epsmin = 1.0e-5 + pminl = 1.0d-28 + epsminl = 1.0e-5 if(con2prim_oct_hack.ne.0.and.& @@ -622,10 +624,10 @@ subroutine Con2Prim_pt_hot(ii,jj,kk,handle, dens, sx, sy, sz, tau, rho, velx, ve rho = GRHydro_rho_min udens = rho dens = sqrt(det) * rho - pnew = pmin - epsilon = epsmin + pnew = pminl + epsilon = epsminl ! w_lorentz=1, so the expression for utau reduces to: - utau = rho + rho*epsmin - udens + utau = rho + rho*epsminl - udens sx = 0.d0 sy = 0.d0 sz = 0.d0 @@ -650,7 +652,7 @@ subroutine Con2Prim_pt_hot(ii,jj,kk,handle, dens, sx, sy, sz, tau, rho, velx, ve dpressbydeps*depsbydpress pold = pnew - pnew = max(pold - f/df, pmin) + pnew = max(pold - f/df, pminl) !!$ Recalculate primitive variables and function @@ -740,9 +742,9 @@ subroutine Con2Prim_pt_hot(ii,jj,kk,handle, dens, sx, sy, sz, tau, rho, velx, ve udens = rho dens = sqrt(det) * rho ! epsilon = (sqrt( (utau + pnew + udens)**2) - pnew - udens)/udens - epsilon = epsmin + epsilon = epsminl ! w_lorentz=1, so the expression for utau reduces to: - utau = rho + rho*epsmin - udens + utau = rho + rho*epsminl - udens sx = 0.d0 sy = 0.d0 sz = 0.d0 |