User: cott Date: 2010/12/21 04:26 AM
Modified: /trunk/src/ GRHydro_Con2Prim.F90, GRHydro_Con2PrimM.F90, GRHydro_Eigenproblem.F90, GRHydro_EigenproblemM.F90, GRHydro_EoSChangeGamma.F90, GRHydro_Prim2Con.F90, GRHydro_Prim2ConM.F90, GRHydro_Source.F90, GRHydro_UpdateMask.F90, GRHydro_UpdateMaskM.F90
Log: * make EOS Omni calls thread safe
File Changes:
Directory: /trunk/src/ ======================
File [modified]: GRHydro_Con2Prim.F90 Delta lines: +23 -35 =================================================================== --- trunk/src/GRHydro_Con2Prim.F90 2010-12-21 06:53:01 UTC (rev 193) +++ trunk/src/GRHydro_Con2Prim.F90 2010-12-21 10:26:24 UTC (rev 194) @@ -60,14 +60,10 @@ CCTK_REAL :: local_min_tracer
! 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,xeps,xtemp,xye + 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
call SpaceMask_GetTypeBits(type_bits, "Hydro_Atmosphere") @@ -270,17 +266,12 @@ character(len=200) warnline logical epsnegative
- ! begin EOS Omni vars - integer :: n = 1 - integer :: keytemp = 0 - integer :: anyerr = 0 - integer :: keyerr(1) = 0 - real*8 :: xpress = 0.0d0 - real*8 :: xtemp = 0.0d0 - real*8 :: xye = 0.0d0 + integer :: n,keytemp,anyerr,keyerr(1) + real*8 :: xpress,xtemp,xye + n=1;keytemp=0;anyerr=0;keyerr(1)=0 + xpress=0.0d0;xtemp=0.0d0;xye=0.0d0 ! end EOS Omni vars -
!!$ Undensitize the variables
@@ -495,23 +486,23 @@ character(len=200) warnline logical epsnegative
- integer :: failwarnmode = 0 - integer :: failinfomode = 1 + integer :: failwarnmode + integer :: failinfomode
! begin EOS Omni vars - integer :: n = 1 - integer :: keytemp = 0 - integer :: anyerr = 0 - integer :: keyerr(1) = 0 - real*8 :: xpress = 0.0d0 - real*8 :: temp0 = 0.0d0 + integer :: n,keytemp,anyerr,keyerr(1) + real*8 :: xpress,temp0 + n=1;keytemp=0;anyerr=0;keyerr(1)=0 + temp0 = 0.0d0;xpress = 0.0d0 ! end EOS Omni vars
+ failwarnmode = 0 + failinfomode = 0 + ! set pmin and epsmin to something sensible: pminl = 1.0d-28 epsminl = 1.0e-5
- if(con2prim_oct_hack.ne.0.and.& x .lt. 0.0d0 .or.& y .lt. 0.0d0 .or.& @@ -816,15 +807,12 @@
CCTK_REAL :: local_min_tracer
-! begin EOS omni - CCTK_INT :: keyerr(1) = 0 - CCTK_INT :: anyerr = 0 - CCTK_INT :: keytemp = 0 - CCTK_INT :: n = 1 - CCTK_REAL :: xye = 0.0d0 - CCTK_REAL :: xeps = 0.0d0 - CCTK_REAL :: xtemp = 0.0d0 -! end EOS omni +! begin EOS Omni vars + integer :: n,keytemp,anyerr,keyerr(1) + real*8 :: xpress,xtemp,xye,xeps + n=1;keytemp=0;anyerr=0;keyerr(1)=0 + xpress=0.0d0;xtemp=0.0d0;xye=0.0d0;xeps=0.0d0 +! end EOS Omni vars
! this is a poly call call EOS_Omni_press(GRHydro_polytrope_handle,keytemp,GRHydro_eos_rf_prec,n,&
File [modified]: GRHydro_Con2PrimM.F90 Delta lines: +12 -22 =================================================================== --- trunk/src/GRHydro_Con2PrimM.F90 2010-12-21 06:53:01 UTC (rev 193) +++ trunk/src/GRHydro_Con2PrimM.F90 2010-12-21 10:26:24 UTC (rev 194) @@ -60,16 +60,12 @@
CCTK_REAL :: local_min_tracer
-! 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 -! end EOS Omni vars +! begin EOS Omni vars + integer :: n,keytemp,anyerr,keyerr(1) + real*8 :: xpress,xtemp,xye,xeps + n=1;keytemp=0;anyerr=0;keyerr(1)=0 + xpress=0.0d0;xtemp=0.0d0;xye=0.0d0;xeps=0.0d0 +! end EOS Omni vars
call SpaceMask_GetTypeBits(type_bits, "Hydro_Atmosphere") call SpaceMask_GetStateBits(atmosphere, "Hydro_Atmosphere", "in_atmosphere") @@ -289,19 +285,13 @@
CCTK_REAL :: local_min_tracer
+! begin EOS Omni vars + integer :: n,keytemp,anyerr,keyerr(1) + real*8 :: xpress,xtemp,xye,xeps + 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
-! begin EOS omni - CCTK_INT :: keyerr(1) = 0 - CCTK_INT :: anyerr = 0 - CCTK_INT :: keytemp = 0 - CCTK_INT :: n = 1 - CCTK_REAL :: xye = 0.0d0 - CCTK_REAL :: xeps = 0.0d0 - CCTK_REAL :: xtemp = 0.0d0 -! end EOS omni - - - ! this is a poly call call EOS_Omni_press(GRHydro_polytrope_handle,keytemp,GRHydro_eos_rf_prec,n,& GRHydro_rho_min,1.0d0,xtemp,xye,pmin,keyerr,anyerr)
File [modified]: GRHydro_Eigenproblem.F90 Delta lines: +8 -15 =================================================================== --- trunk/src/GRHydro_Eigenproblem.F90 2010-12-21 06:53:01 UTC (rev 193) +++ trunk/src/GRHydro_Eigenproblem.F90 2010-12-21 10:26:24 UTC (rev 194) @@ -59,14 +59,10 @@ CCTK_REAL dpdrho,dpdeps,press
! 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,xeps,xtemp,xye + 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 @@ -137,15 +133,12 @@ CCTK_REAL dpdrho,dpdeps,press
! 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 + integer :: n,keytemp,anyerr,keyerr(1) + real*8 :: xpress,xeps + n=1;keytemp=0;anyerr=0;keyerr(1)=0 + xpress=0.0d0;xeps=0.0d0 ! end EOS Omni vars
- one = 1.0d0 two = 2.0d0
File [modified]: GRHydro_EigenproblemM.F90 Delta lines: +5 -9 =================================================================== --- trunk/src/GRHydro_EigenproblemM.F90 2010-12-21 06:53:01 UTC (rev 193) +++ trunk/src/GRHydro_EigenproblemM.F90 2010-12-21 10:26:24 UTC (rev 194) @@ -63,15 +63,11 @@ CCTK_REAL Bdotv,b2
! 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 -! end EOS Omni vars + integer :: n,keytemp,anyerr,keyerr(1) + real*8 :: xpress,xeps,xtemp,xye + 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 two = 2.0d0
File [modified]: GRHydro_EoSChangeGamma.F90 Delta lines: +14 -26 =================================================================== --- trunk/src/GRHydro_EoSChangeGamma.F90 2010-12-21 06:53:01 UTC (rev 193) +++ trunk/src/GRHydro_EoSChangeGamma.F90 2010-12-21 10:26:24 UTC (rev 194) @@ -53,14 +53,10 @@
!!$ Set up the fluid constants ! 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,xeps,xtemp,xye + 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 call EOS_Omni_press(GRHydro_polytrope_handle,keytemp,GRHydro_eos_rf_prec,n,& 1.0d0,1.0d0,xtemp,xye,xpress,keyerr,anyerr) @@ -134,14 +130,10 @@
!!$ Set up the fluid constants ! 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,xeps,xtemp,xye + 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 call EOS_Omni_press(GRHydro_polytrope_handle,keytemp,GRHydro_eos_rf_prec,n,& 1.0d0,1.0d0,xtemp,xye,xpress,keyerr,anyerr) @@ -220,18 +212,14 @@ CCTK_REAL, dimension(cctk_lsh(1),cctk_lsh(2),cctk_lsh(3)) :: Q
character(len=100) infoline - -!!$ Set up the fluid constants ! 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,xeps,xtemp,xye + 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 + +!!$ Set up the fluid constants call EOS_Omni_press(GRHydro_polytrope_handle,keytemp,GRHydro_eos_rf_prec,n,& 1.0d0,1.0d0,xtemp,xye,xpress,keyerr,anyerr)
File [modified]: GRHydro_Prim2Con.F90 Delta lines: +11 -25 =================================================================== --- trunk/src/GRHydro_Prim2Con.F90 2010-12-21 06:53:01 UTC (rev 193) +++ trunk/src/GRHydro_Prim2Con.F90 2010-12-21 10:26:24 UTC (rev 194) @@ -93,7 +93,7 @@ end do !$OMP END PARALLEL DO else - !$OMP PARALLEL DO PRIVATE(i, j, avg_detl, avg_detr, xtemp,& + !$OMP PARALLEL DO PRIVATE(i, j, k, avg_detl, avg_detr, xtemp,& !$OMP gxxl,gxyl,gxzl,gyyl,gyzl,gzzl, & !$OMP gxxr,gxyr,gxzr,gyyr,gyzr,gzzr) do k = GRHydro_stencil,cctk_lsh(3)-GRHydro_stencil+1 @@ -149,7 +149,6 @@ velzplus(i,j,k),epsplus(i,j,k),pressplus(i,j,k),& w_lorentzplus(i,j,k),xtemp, & y_e_plus(i,j,k)) -
end do end do @@ -187,14 +186,10 @@ CCTK_INT :: handle
! 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 :: xye,xtemp + n = 1;keytemp = 0;anyerr = 0;keyerr(1) = 0 + xtemp = 0.0d0; xye = 0.0d0 ! end EOS Omni vars
w = 1.d0 / sqrt(1.d0 - (gxx*dvelx*dvelx + gyy*dvely*dvely + gzz & @@ -234,15 +229,10 @@ character(len=512) 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 + integer :: n,keytemp,anyerr,keyerr(1) + n = 1;keytemp = 0;anyerr = 0;keyerr(1) = 0 ! end EOS Omni vars
- w = 1.d0 / sqrt(1.d0 - (gxx*dvelx*dvelx + gyy*dvely*dvely + gzz & *dvelz*dvelz + 2*gxy*dvelx*dvely + 2*gxz*dvelx *dvelz + 2*gyz& *dvely*dvelz)) @@ -489,14 +479,10 @@ character(len=256) NaN_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,xeps,xtemp,xye + 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
w_tmp = gxx*dvelx*dvelx + gyy*dvely*dvely + gzz *dvelz*dvelz + &
File [modified]: GRHydro_Prim2ConM.F90 Delta lines: +8 -16 =================================================================== --- trunk/src/GRHydro_Prim2ConM.F90 2010-12-21 06:53:01 UTC (rev 193) +++ trunk/src/GRHydro_Prim2ConM.F90 2010-12-21 10:26:24 UTC (rev 194) @@ -126,14 +126,10 @@ character(len=256) NaN_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,xeps,xtemp,xye + 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
w = 1.d0 / sqrt(1.d0 - DOT2(dvelx,dvely,dvelz)) @@ -349,14 +345,10 @@ character(len=256) NaN_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,xeps,xtemp,xye + 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
w_tmp = DOT2(dvelx,dvely,dvelz)
File [modified]: GRHydro_Source.F90 Delta lines: +1 -1 =================================================================== --- trunk/src/GRHydro_Source.F90 2010-12-21 06:53:01 UTC (rev 193) +++ trunk/src/GRHydro_Source.F90 2010-12-21 10:26:24 UTC (rev 194) @@ -103,7 +103,7 @@ if (evolve_Y_e .ne. 0) then y_e_con_rhs = 0.0d0 endif - + !!$ Set up the array for checking the order. We switch to second order !!$ differencing at boundaries and near excision regions. !!$ Copied straight from BSSN.
File [modified]: GRHydro_UpdateMask.F90 Delta lines: +4 -8 =================================================================== --- trunk/src/GRHydro_UpdateMask.F90 2010-12-21 06:53:01 UTC (rev 193) +++ trunk/src/GRHydro_UpdateMask.F90 2010-12-21 10:26:24 UTC (rev 194) @@ -283,14 +283,10 @@ CCTK_INT :: eos_handle
! 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,xeps,xtemp,xye + n=1;keytemp=0;anyerr=0;keyerr(1)=0 + xpress=0.0d0;xye=0.0d0;xeps=0.0d0;xtemp=0.0d0 ! end EOS Omni vars
eos_handle = GRHydro_polytrope_handle
File [modified]: GRHydro_UpdateMaskM.F90 Delta lines: +4 -9 =================================================================== --- trunk/src/GRHydro_UpdateMaskM.F90 2010-12-21 06:53:01 UTC (rev 193) +++ trunk/src/GRHydro_UpdateMaskM.F90 2010-12-21 10:26:24 UTC (rev 194) @@ -108,17 +108,12 @@ CCTK_INT :: eos_handle
! 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,xeps,xtemp,xye + n=1;keytemp=0;anyerr=0;keyerr(1)=0 + xpress=0.0d0;xye=0.0d0;xeps=0.0d0;xtemp=0.0d0 ! end EOS Omni vars
- eos_handle = GRHydro_polytrope_handle
call SpaceMask_GetTypeBits(type_bits, "Hydro_Atmosphere")
commits@lists.einsteintoolkit.org