aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorcott <cott@8e189c6b-2ab8-4400-aa02-70a9cfce18b9>2010-12-22 21:44:39 +0000
committercott <cott@8e189c6b-2ab8-4400-aa02-70a9cfce18b9>2010-12-22 21:44:39 +0000
commitc600e27fcbb12ec2e406480154987cf7b37782b8 (patch)
treefbe66341050433efa1f36d434687ba1cf562bfbe
parente6f4a06735c8a0d38251cd984147a06abea2df16 (diff)
* make nuc_eos thread safe
* fix a bug in MultiVarCalls git-svn-id: http://svn.einsteintoolkit.org/cactus/EinsteinEOS/EOS_Omni/trunk@32 8e189c6b-2ab8-4400-aa02-70a9cfce18b9
-rw-r--r--src/EOS_Omni_MultiVarCalls.F902
-rw-r--r--src/nuc_eos/nuc_eos.F9025
2 files changed, 19 insertions, 8 deletions
diff --git a/src/EOS_Omni_MultiVarCalls.F90 b/src/EOS_Omni_MultiVarCalls.F90
index 25be0a2..664a31f 100644
--- a/src/EOS_Omni_MultiVarCalls.F90
+++ b/src/EOS_Omni_MultiVarCalls.F90
@@ -62,7 +62,7 @@ subroutine EOS_Omni_EOS_short(eoskey,keytemp,rf_precision,npoints,&
anyerr = 1
endif
- if(keytemp.eq.1.or.keytemp.eq.2) then
+ if(keytemp.eq.1) then
eps(i) = xenr * eps_gf
else if(keytemp.eq.2) then
eps(i) = xenr * eps_gf
diff --git a/src/nuc_eos/nuc_eos.F90 b/src/nuc_eos/nuc_eos.F90
index b7c9312..18928cf 100644
--- a/src/nuc_eos/nuc_eos.F90
+++ b/src/nuc_eos/nuc_eos.F90
@@ -38,8 +38,11 @@ subroutine nuc_eos_full(xrho,xtemp,xye,xenr,xprs,xent,xcs2,xdedt,&
real*8 :: lr,lt,y,xx,xeps,leps,xs,xpressure
real*8 :: d1,d2,d3
real*8 :: ff(nvars)
- integer :: keyerrt = 0
- integer :: keyerrr = 0
+ integer :: keyerrt
+ integer :: keyerrr
+
+ keyerrt = 0
+ keyerrr = 0
if(xrho.gt.eos_rhomax) then
stop "nuc_eos: rho > rhomax"
@@ -158,7 +161,8 @@ subroutine nuc_low_eos(xrho,xenr,xprs,xcs2,xdpderho,xdpdrhoe,keytemp)
implicit none
real*8 xrho,xenr,xprs,xcs2,xdpderho,xdpdrhoe
- real*8,parameter :: idealK1 = 1.2435d15 * (0.5d0**(4.d0/3.d0))
+ real*8,parameter :: idealK1 = 4.93483302030614d14
+! real*8,parameter :: idealK1 = 1.2435d15 * (0.5d0**(4.d0/3.d0))
real*8,parameter :: idealgamma = 1.41d0
integer keytemp
@@ -195,8 +199,11 @@ subroutine nuc_eos_short(xrho,xtemp,xye,xenr,xprs,xent,xcs2,xdedt,&
! local variables
real*8 :: lr,lt,y,xx,xeps,leps,xs,xpressure
real*8 :: d1,d2,d3,ff(8)
- integer :: keyerrt = 0
- integer :: keyerrr = 0
+ integer :: keyerrt
+ integer :: keyerrr
+
+ keyerrt = 0
+ keyerrr = 0
if(xrho.gt.eos_rhomax) then
stop "nuc_eos: rho > rhomax"
@@ -317,7 +324,9 @@ subroutine nuc_eos_press_eps(xrho,xtemp,xye,xenr,xprs,&
real*8 :: xcs2,xdpderho,xdpdrhoe
real*8 :: lr,lt,y,xx,xeps,leps,xs
real*8 :: d1,d2,d3,ff(8)
- integer :: keyerrt = 0
+ integer :: keyerrt
+
+ keyerrt = 0
if(xrho.gt.eos_rhomax) then
stop "nuc_eos: rho > rhomax"
@@ -394,7 +403,9 @@ subroutine nuc_eos_dpdr_dpde(xrho,xtemp,xye,xenr,xdpdrhoe,&
real*8 :: xcs2,xprs
real*8 :: lr,lt,y,xx,xeps,leps,xs
real*8 :: d1,d2,d3,ff(8)
- integer :: keyerrt = 0
+ integer :: keyerrt
+
+ keyerrt = 0
if(xrho.gt.eos_rhomax) then
stop "nuc_eos: rho > rhomax"