aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorcott <cott@c83d129a-5a75-4d5a-9c4d-ed3a5855bf45>2010-12-30 08:49:37 +0000
committercott <cott@c83d129a-5a75-4d5a-9c4d-ed3a5855bf45>2010-12-30 08:49:37 +0000
commit4d03a2ddb4348a2e9caf153a37ac109956dba7f1 (patch)
tree094bd6458ce32ff883ac7c4e9d4af85cff33ba25 /src
parent57ba0fc4a8bed2a76d879db4427cb0f2c8d462c4 (diff)
* update error handling in _hot routine: warn only starting
from a given reflevel git-svn-id: http://svn.einsteintoolkit.org/cactus/EinsteinEvolve/GRHydro/trunk@201 c83d129a-5a75-4d5a-9c4d-ed3a5855bf45
Diffstat (limited to 'src')
-rw-r--r--src/GRHydro_Con2Prim.F90113
1 files changed, 60 insertions, 53 deletions
diff --git a/src/GRHydro_Con2Prim.F90 b/src/GRHydro_Con2Prim.F90
index 971471b..0158acf 100644
--- a/src/GRHydro_Con2Prim.F90
+++ b/src/GRHydro_Con2Prim.F90
@@ -529,16 +529,18 @@ subroutine Con2Prim_pt_hot(ii,jj,kk,handle, dens, sx, sy, sz, tau, rho, velx, ve
pold = max(1.d-15,xpress)
! error handling
if(anyerr.ne.0) then
- call CCTK_WARN(failinfomode,"EOS error in c2p 0")
- write(warnline,"(3i5,1P10E15.6)") ii,jj,kk,x,y,z
- call CCTK_WARN(failinfomode,warnline)
- write(warnline,"(1P10E15.6)") rho,dens,epsilon,temp,temp0,ye
- call CCTK_WARN(failinfomode,warnline)
- write(warnline,"(A7,i8)") "code: ",keyerr(1)
- call CCTK_WARN(failinfomode,warnline)
- write(warnline,"(A10,i5)") "reflevel: ", GRHydro_reflevel
- call CCTK_WARN(failinfomode,warnline)
- call CCTK_WARN(failwarnmode,"Aborting!!!")
+ if (GRHydro_reflevel.ge.GRHydro_c2p_warn_from_reflevel) then
+ call CCTK_WARN(failinfomode,"EOS error in c2p 0")
+ write(warnline,"(3i5,1P10E15.6)") ii,jj,kk,x,y,z
+ call CCTK_WARN(failinfomode,warnline)
+ write(warnline,"(1P10E15.6)") rho,dens,epsilon,temp,temp0,ye
+ call CCTK_WARN(failinfomode,warnline)
+ write(warnline,"(A7,i8)") "code: ",keyerr(1)
+ call CCTK_WARN(failinfomode,warnline)
+ write(warnline,"(A10,i5)") "reflevel: ", GRHydro_reflevel
+ call CCTK_WARN(failinfomode,warnline)
+ call CCTK_WARN(failwarnmode,"Aborting!!!")
+ endif
endif
@@ -572,18 +574,19 @@ subroutine Con2Prim_pt_hot(ii,jj,kk,handle, dens, sx, sy, sz, tau, rho, velx, ve
rho,epsilon,temp,ye,xpress,keyerr,anyerr)
! error handling
if(anyerr.ne.0) then
- call CCTK_WARN(failinfomode,"EOS error in c2p 1")
- write(warnline,"(3i5,1P10E15.6)") ii,jj,kk,x,y,z
- call CCTK_WARN(failinfomode,warnline)
- write(warnline,"(1P10E15.6)") rho,epsilon,temp,ye
- call CCTK_WARN(failinfomode,warnline)
- write(warnline,"(A7,i8)") "code: ",keyerr(1)
- call CCTK_WARN(failinfomode,warnline)
- write(warnline,"(A10,i5)") "reflevel: ", GRHydro_reflevel
- call CCTK_WARN(failinfomode,warnline)
- call CCTK_WARN(failwarnmode,"Aborting!!!")
+ if (GRHydro_reflevel.ge.GRHydro_c2p_warn_from_reflevel) then
+ call CCTK_WARN(failinfomode,"EOS error in c2p 1")
+ write(warnline,"(3i5,1P10E15.6)") ii,jj,kk,x,y,z
+ call CCTK_WARN(failinfomode,warnline)
+ write(warnline,"(1P10E15.6)") rho,epsilon,temp,ye
+ call CCTK_WARN(failinfomode,warnline)
+ write(warnline,"(A7,i8)") "code: ",keyerr(1)
+ call CCTK_WARN(failinfomode,warnline)
+ write(warnline,"(A10,i5)") "reflevel: ", GRHydro_reflevel
+ call CCTK_WARN(failinfomode,warnline)
+ call CCTK_WARN(failwarnmode,"Aborting!!!")
+ endif
endif
-
f = pold - xpress
@@ -600,16 +603,18 @@ subroutine Con2Prim_pt_hot(ii,jj,kk,handle, dens, sx, sy, sz, tau, rho, velx, ve
GRHydro_C2P_failed = 1
!$OMP CRITICAL
- call CCTK_WARN(failinfomode, 'count > GRHydro_countmax! ')
- write(warnline,'(a28,i2)') 'on carpet reflevel: ',GRHydro_reflevel
- call CCTK_WARN(failinfomode,warnline)
- write(warnline,'(a20,3g16.7)') 'xyz location: ',x,y,z
- call CCTK_WARN(failinfomode,warnline)
- write(warnline,'(a20,3i5)') 'ijk location: ',ii,jj,kk
- call CCTK_WARN(failinfomode,warnline)
- write(warnline,'(a20,g16.7)') 'radius: ',r
- call CCTK_WARN(failinfomode,warnline)
- call CCTK_WARN(failinfomode,"Setting the point to atmosphere")
+ if (GRHydro_reflevel.ge.GRHydro_c2p_warn_from_reflevel) then
+ call CCTK_WARN(failinfomode, 'count > GRHydro_countmax! ')
+ write(warnline,'(a28,i2)') 'on carpet reflevel: ',GRHydro_reflevel
+ call CCTK_WARN(failinfomode,warnline)
+ write(warnline,'(a20,3g16.7)') 'xyz location: ',x,y,z
+ call CCTK_WARN(failinfomode,warnline)
+ write(warnline,'(a20,3i5)') 'ijk location: ',ii,jj,kk
+ call CCTK_WARN(failinfomode,warnline)
+ write(warnline,'(a20,g16.7)') 'radius: ',r
+ call CCTK_WARN(failinfomode,warnline)
+ call CCTK_WARN(failinfomode,"Setting the point to atmosphere")
+ endif
!$OMP END CRITICAL
! for safety, let's set the point to atmosphere
@@ -661,18 +666,19 @@ subroutine Con2Prim_pt_hot(ii,jj,kk,handle, dens, sx, sy, sz, tau, rho, velx, ve
rho,epsilon,temp,ye,xpress,keyerr,anyerr)
! error handling
if(anyerr.ne.0) then
- call CCTK_WARN(failinfomode,"EOS error in c2p 2")
- write(warnline,"(3i5,1P10E15.6)") ii,jj,kk,x,y,z
- call CCTK_WARN(failinfomode,warnline)
- write(warnline,"(1P10E15.6)") rho,epsilon,temp,ye
- call CCTK_WARN(failinfomode,warnline)
- write(warnline,"(A7,i8)") "code: ",keyerr(1)
- call CCTK_WARN(failinfomode,warnline)
- write(warnline,"(A10,i5)") "reflevel: ", GRHydro_reflevel
- call CCTK_WARN(failinfomode,warnline)
- call CCTK_WARN(failwarnmode,"Aborting!!!")
+ if (GRHydro_reflevel.ge.GRHydro_c2p_warn_from_reflevel) then
+ call CCTK_WARN(failinfomode,"EOS error in c2p 2")
+ write(warnline,"(3i5,1P10E15.6)") ii,jj,kk,x,y,z
+ call CCTK_WARN(failinfomode,warnline)
+ write(warnline,"(1P10E15.6)") rho,epsilon,temp,ye
+ call CCTK_WARN(failinfomode,warnline)
+ write(warnline,"(A7,i8)") "code: ",keyerr(1)
+ call CCTK_WARN(failinfomode,warnline)
+ write(warnline,"(A10,i5)") "reflevel: ", GRHydro_reflevel
+ call CCTK_WARN(failinfomode,warnline)
+ call CCTK_WARN(failwarnmode,"Aborting!!!")
+ endif
endif
-
f = pnew - xpress
enddo
@@ -710,18 +716,19 @@ subroutine Con2Prim_pt_hot(ii,jj,kk,handle, dens, sx, sy, sz, tau, rho, velx, ve
! error handling
if(anyerr.ne.0) then
- call CCTK_WARN(failinfomode,"EOS error in c2p 3")
- write(warnline,"(3i5,1P10E15.6)") ii,jj,kk,x,y,z
- call CCTK_WARN(failinfomode,warnline)
- write(warnline,"(1P10E15.6)") rho,epsilon,temp,ye
- call CCTK_WARN(failinfomode,warnline)
- write(warnline,"(A7,i8)") "code: ",keyerr(1)
- call CCTK_WARN(failinfomode,warnline)
- write(warnline,"(A10,i5)") "reflevel: ", GRHydro_reflevel
- call CCTK_WARN(failinfomode,warnline)
- call CCTK_WARN(failwarnmode,"Aborting!!!")
+ if (GRHydro_reflevel.ge.GRHydro_c2p_warn_from_reflevel) then
+ call CCTK_WARN(failinfomode,"EOS error in c2p 3")
+ write(warnline,"(3i5,1P10E15.6)") ii,jj,kk,x,y,z
+ call CCTK_WARN(failinfomode,warnline)
+ write(warnline,"(1P10E15.6)") rho,epsilon,temp,ye
+ call CCTK_WARN(failinfomode,warnline)
+ write(warnline,"(A7,i8)") "code: ",keyerr(1)
+ call CCTK_WARN(failinfomode,warnline)
+ write(warnline,"(A10,i5)") "reflevel: ", GRHydro_reflevel
+ call CCTK_WARN(failinfomode,warnline)
+ call CCTK_WARN(failwarnmode,"Aborting!!!")
+ endif
endif
-
f = pold - xpress