User: rhaas Date: 2012/06/21 03:55 AM
Modified: /trunk/src/ GRHydro_Con2Prim.F90, GRHydro_Eigenproblem.F90
Log: GRydro: avoid implict SAVE attribute in Con2PrimPolytype
initializing a variable makes it SAVE which is incomaptible with OpenMP.
Also fix some 1-element-array vs. scalar variable type issues.
File Changes:
Directory: /trunk/src/ ======================
File [modified]: GRHydro_Con2Prim.F90 Delta lines: +25 -9 =================================================================== --- trunk/src/GRHydro_Con2Prim.F90 2012-06-21 03:51:18 UTC (rev 363) +++ trunk/src/GRHydro_Con2Prim.F90 2012-06-21 08:55:58 UTC (rev 364) @@ -349,6 +349,8 @@ uyz, uzz, det, x, y, z, r, epsnegative, GRHydro_rho_min, pmin, epsmin, & GRHydro_reflevel, GRHydro_C2P_failed)
+ use Con2Prim_fortran_interfaces + implicit none
DECLARE_CCTK_PARAMETERS @@ -612,6 +614,8 @@ uyz, uzz, det, x, y, z, r, epsnegative, GRHydro_rho_min, pmin, epsmin, & GRHydro_reflevel, GRHydro_C2P_failed, local_perc_ptol)
+ use Con2Prim_fortran_interfaces + implicit none
DECLARE_CCTK_PARAMETERS @@ -1342,6 +1346,8 @@
subroutine Conservative2PrimitivePolytype(CCTK_ARGUMENTS)
+ use Con2Prim_fortran_interfaces + implicit none
! save memory when MP is not used @@ -1470,6 +1476,8 @@ velx, vely, velz, epsilon, press, w_lorentz, uxx, uxy, uxz, uyy, & uyz, uzz, det, x, y, z, r, GRHydro_rho_min, GRHydro_reflevel, GRHydro_C2P_failed)
+ use Con2Prim_fortran_interfaces + implicit none
DECLARE_CCTK_PARAMETERS @@ -1485,14 +1493,10 @@ character(len=200) warnline
! begin EOS Omni vars - integer :: n = 1 - integer :: keytemp = 0 - integer :: anyerr = 0 - integer :: keyerr(1) = 0 - real*8 :: xpress = 0.0d0 - real*8 :: xeps = 0.0d0 - real*8 :: xtemp = 0.0d0 - real*8 :: xye = 0.0d0 + integer :: n,keytemp,anyerr,keyerr(1) + real*8 :: xpress(1),xeps(1),xtemp(1),xye(1) + n = 1;keytemp = 0;anyerr = 0;keyerr(1) = 0 + xpress = 0.0d0;xeps = 0.0d0;xtemp = 0.0d0;xye = 0.0d0 ! end EOS Omni vars
@@ -1516,7 +1520,7 @@ call EOS_Omni_EpsFromPress(handle,keytemp,GRHydro_eos_rf_prec,n,& rhoold,xeps,xtemp,xye,press,xeps,keyerr,anyerr)
- enthalpy = 1.0d0 + xeps + press / rhoold + enthalpy = 1.0d0 + xeps(1) + press / rhoold
w_lorentz = sqrt(1.d0 + s2 / ( (udens*enthalpy)**2 ))
@@ -1727,6 +1731,8 @@
subroutine Con2PrimBoundsPolytype(CCTK_ARGUMENTS)
+ use Con2Prim_fortran_interfaces + implicit none
! save memory when MP is not used @@ -1842,6 +1848,8 @@
subroutine Con2PrimBoundsTracer(CCTK_ARGUMENTS)
+ use Con2Prim_fortran_interfaces + implicit none
! save memory when MP is not used @@ -1972,6 +1980,8 @@
subroutine Con2Prim_ptTracer(cons_tracer, tracer, dens)
+ use Con2Prim_fortran_interfaces + implicit none
DECLARE_CCTK_PARAMETERS @@ -2000,6 +2010,8 @@
subroutine Con2Prim_ptBoundsTracer(cons_tracer, tracer, rho, one_over_w_lorentz, det)
+ use Con2Prim_fortran_interfaces + implicit none
DECLARE_CCTK_PARAMETERS @@ -2014,6 +2026,8 @@ ! subroutines to manage the C2P failure mask subroutine reset_GRHydro_C2P_failed(CCTK_ARGUMENTS)
+ use Con2Prim_fortran_interfaces + implicit none
DECLARE_CCTK_ARGUMENTS @@ -2038,6 +2052,8 @@
subroutine check_GRHydro_C2P_failed(CCTK_ARGUMENTS)
+ use Con2Prim_fortran_interfaces + implicit none
! save memory when MP is not used
File [modified]: GRHydro_Eigenproblem.F90 Delta lines: +8 -18 =================================================================== --- trunk/src/GRHydro_Eigenproblem.F90 2012-06-21 03:51:18 UTC (rev 363) +++ trunk/src/GRHydro_Eigenproblem.F90 2012-06-21 08:55:58 UTC (rev 364) @@ -239,14 +239,10 @@ !!$ Warning, warning. Nasty hack follows
! begin EOS Omni vars - integer :: n = 1 - integer :: keytemp = 0 - integer :: anyerr = 0 - integer :: keyerr(1) = 0 - real*8 :: xpress = 0.0d0 - real*8 :: xeps = 0.0d0 - real*8 :: xtemp = 0.0d0 - real*8 :: xye = 0.0d0 + integer :: n,keytemp,anyerr,keyerr(1) + real*8 :: xpress(1),xeps(1),xtemp(1),xye(1) + n = 1;keytemp = 0;anyerr = 0;keyerr(1) = 0 + xpress = 0.0d0;xeps = 0.0d0;xtemp = 0.0d0;xye = 0.0d0 ! end EOS Omni vars
@@ -606,17 +602,11 @@ CCTK_REAL axp,axm,vxp,vxm,cxx,cxy,cxz,gam,xsi,dlt CCTK_INT handle
-!!$ Warning, warning. Nasty hack follows - ! begin EOS Omni vars - integer :: n = 1 - integer :: keytemp = 0 - integer :: anyerr = 0 - integer :: keyerr(1) = 0 - real*8 :: xpress = 0.0d0 - real*8 :: xeps = 0.0d0 - real*8 :: xtemp = 0.0d0 - real*8 :: xye = 0.0d0 + integer :: n,keytemp,anyerr,keyerr(1) + real*8 :: xpress(1),xeps(1),xtemp(1),xye(1) + n = 1;keytemp = 0;anyerr = 0;keyerr(1) = 0 + xpress = 0.0d0;xeps = 0.0d0;xtemp = 0.0d0;xye = 0.0d0 ! end EOS Omni vars
one = 1.0d0