aboutsummaryrefslogtreecommitdiff
path: root/src/GRHydro_Prim2Con.F90
diff options
context:
space:
mode:
authorrhaas <rhaas@c83d129a-5a75-4d5a-9c4d-ed3a5855bf45>2012-07-17 17:08:18 +0000
committerrhaas <rhaas@c83d129a-5a75-4d5a-9c4d-ed3a5855bf45>2012-07-17 17:08:18 +0000
commit1bfc6d69e35831149fe7f21caff01e0a8a805bf7 (patch)
tree440b345832f6e91a10753d06b12e3f6b1f06d7c2 /src/GRHydro_Prim2Con.F90
parent05de87c0c634e4cfbe344db2555a2c9513117504 (diff)
* improve treatment of hot EOS warning
From: Christian Ott <cott@bethe.tapir.caltech.edu> git-svn-id: http://svn.einsteintoolkit.org/cactus/EinsteinEvolve/GRHydro/trunk@393 c83d129a-5a75-4d5a-9c4d-ed3a5855bf45
Diffstat (limited to 'src/GRHydro_Prim2Con.F90')
-rw-r--r--src/GRHydro_Prim2Con.F9042
1 files changed, 24 insertions, 18 deletions
diff --git a/src/GRHydro_Prim2Con.F90 b/src/GRHydro_Prim2Con.F90
index 1329eda..bbbab06 100644
--- a/src/GRHydro_Prim2Con.F90
+++ b/src/GRHydro_Prim2Con.F90
@@ -153,7 +153,9 @@ subroutine primitive2conservative(CCTK_ARGUMENTS)
xtemp(1) = 0.5d0*(temperature(i,j,k) + &
temperature(i-xoffset,j-yoffset,k-zoffset))
call prim2con_hot(GRHydro_eos_handle, GRHydro_reflevel,&
- i,j,k,x(i,j,k),y(i,j,k),z(i,j,k),g11l,g12l,g13l,g22l,&
+ cctk_iteration,i,j,k,x(i,j,k),y(i,j,k),z(i,j,k),&
+ r(i,j,k),&
+ g11l,g12l,g13l,g22l,&
g23l,g33l, &
avg_detl,densminus(i,j,k),sxminus(i,j,k),&
syminus(i,j,k),szminus(i,j,k),tauminus(i,j,k),&
@@ -170,8 +172,10 @@ subroutine primitive2conservative(CCTK_ARGUMENTS)
xtemp(1) = 0.5d0*(temperature(i,j,k) + &
temperature(i+xoffset,j+yoffset,k+zoffset))
call prim2con_hot(GRHydro_eos_handle, GRHydro_reflevel, &
- i,j,k,x(i,j,k),y(i,j,k),z(i,j,k),g11r,g12r,g13r,&
- g22r,g23r,g33r, &
+ cctk_iteration,i,j,k,x(i,j,k),y(i,j,k),z(i,j,k),&
+ r(i,j,k),&
+ g11r,g12r,g13r,&
+ g22r,g23r,g33r,&
avg_detr, densplus(i,j,k),sxplus(i,j,k),&
syplus(i,j,k),szplus(i,j ,k),tauplus(i,j,k),&
rhoplus(i,j,k),velxplus(i,j,k),velyplus(i,j,k),&
@@ -241,8 +245,8 @@ subroutine prim2con(handle, gxx, gxy, gxz, gyy, gyz, gzz, det, ddens, &
end subroutine prim2con
-subroutine prim2con_hot(handle, GRHydro_reflevel, ii, jj, kk, &
- x, y, z, gxx, gxy, gxz, gyy, gyz, gzz, det, ddens, &
+subroutine prim2con_hot(handle, GRHydro_reflevel, cctk_iteration, ii, jj, kk, &
+ x, y, z, r, gxx, gxy, gxz, gyy, gyz, gzz, det, ddens, &
dsx, dsy, dsz, dtau , drho, dvelx, dvely, dvelz, deps, dpress, w, &
temp,ye)
@@ -254,8 +258,8 @@ subroutine prim2con_hot(handle, GRHydro_reflevel, ii, jj, kk, &
CCTK_REAL :: gxx, gxy, gxz, gyy, gyz, gzz, det
CCTK_REAL :: ddens, dsx, dsy, dsz, dtau, drho(1), dvelx, dvely, dvelz,&
deps(1), dpress(1), w, vlowx, vlowy, vlowz
- CCTK_REAL :: temp(1),ye(1), x, y, z
- CCTK_INT :: handle, GRHydro_reflevel, ii, jj, kk
+ CCTK_REAL :: temp(1),ye(1), x, y, z, r
+ CCTK_INT :: handle, GRHydro_reflevel, cctk_iteration, ii, jj, kk
CCTK_REAL :: sdet, h
character(len=512) warnline
@@ -287,7 +291,7 @@ subroutine prim2con_hot(handle, GRHydro_reflevel, ii, jj, kk, &
if(anyerr.ne.0) then
!$OMP CRITICAL
call CCTK_WARN(1,"EOS error in prim2con_hot: lev 2")
- write(warnline,"(3i5,1P10E15.6)") ii,jj,kk,x,y,z
+ write(warnline,"(i8,3i5,1P10E15.6)") cctk_iteration,ii,jj,kk,x,y,z,r
call CCTK_WARN(1,warnline)
write(warnline,"(1P10E15.6)") drho,deps,temp,ye
call CCTK_WARN(1,warnline)
@@ -302,15 +306,17 @@ subroutine prim2con_hot(handle, GRHydro_reflevel, ii, jj, kk, &
! Use the average temperature at the interface instead of the
! reconstructed specific internal energy.
!$OMP CRITICAL
- call CCTK_WARN(1,"EOS error in prim2con_hot: NOW using averaged temp!")
- write(warnline,"(3i5,1P10E15.6)") ii,jj,kk,x,y,z
- call CCTK_WARN(1,warnline)
- write(warnline,"(1P10E15.6)") drho,deps,temp0,ye
- call CCTK_WARN(1,warnline)
- write(warnline,"(A7,i8)") "code: ",keyerr(1)
- call CCTK_WARN(1,warnline)
- write(warnline,"(A10,i5)") "reflevel: ", GRHydro_reflevel
- call CCTK_WARN(1,warnline)
+ if(GRHydro_eos_hot_prim2con_warn.ne.0) then
+ call CCTK_WARN(1,"EOS error in prim2con_hot: NOW using averaged temp!")
+ write(warnline,"(i8,3i5,1P10E15.6)") cctk_iteration,ii,jj,kk,x,y,z,r
+ call CCTK_WARN(1,warnline)
+ write(warnline,"(1P10E15.6)") drho,deps,temp0,ye
+ call CCTK_WARN(1,warnline)
+ write(warnline,"(A7,i8)") "code: ",keyerr(1)
+ call CCTK_WARN(1,warnline)
+ write(warnline,"(A10,i5)") "reflevel: ", GRHydro_reflevel
+ call CCTK_WARN(1,warnline)
+ endif
!$OMP END CRITICAL
keytemp=1
temp = temp0
@@ -320,7 +326,7 @@ subroutine prim2con_hot(handle, GRHydro_reflevel, ii, jj, kk, &
if(anyerr.ne.0) then
!$OMP CRITICAL
call CCTK_WARN(1,"EOS error in prim2con_hot")
- write(warnline,"(3i5,1P10E15.6)") ii,jj,kk,x,y,z
+ write(warnline,"(i8,3i5,1P10E15.6)") cctk_iteration,ii,jj,kk,x,y,z,r
call CCTK_WARN(1,warnline)
write(warnline,"(1P10E15.6)") drho,deps,temp,ye
call CCTK_WARN(1,warnline)