[Commits] [svn:einsteintoolkit] GRHydro/trunk/src/ (Rev. 207)
cott at tapir.caltech.edu
cott at tapir.caltech.edu
Tue Jan 4 08:40:06 CST 2011
User: cott
Date: 2011/01/04 08:40 AM
Modified:
/trunk/src/
GRHydro_Prim2Con.F90
Log:
* Update error handling in _hot routine of Prim2Con.
File Changes:
Directory: /trunk/src/
======================
File [modified]: GRHydro_Prim2Con.F90
Delta lines: +25 -3
===================================================================
--- trunk/src/GRHydro_Prim2Con.F90 2011-01-02 15:54:48 UTC (rev 206)
+++ trunk/src/GRHydro_Prim2Con.F90 2011-01-04 14:40:06 UTC (rev 207)
@@ -231,9 +231,11 @@
! begin EOS Omni vars
integer :: n,keytemp,anyerr,keyerr(1)
+ real*8 :: temp0(1)
n = 1;keytemp = 0;anyerr = 0;keyerr(1) = 0
! end EOS Omni vars
+ temp0 = temp
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))
@@ -262,19 +264,39 @@
call CCTK_WARN(1,warnline)
endif
else
- call CCTK_WARN(1,"EOS error in prim2con_hot")
+ ! This is a way of recovering even on finer refinement levels:
+ ! Use the average temperature at the interface instead of the
+ ! reconstructed specific internal energy.
+ 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,temp,ye
+ 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)
- call CCTK_WARN(0,"Aborting!!!")
+ keytemp=1
+ temp = temp0
+ call EOS_Omni_press(handle,keytemp,GRHydro_eos_rf_prec,n,&
+ drho,deps,temp,ye,dpress,keyerr,anyerr)
+ keytemp=0
+ if(anyerr.ne.0) then
+ call CCTK_WARN(1,"EOS error in prim2con_hot")
+ write(warnline,"(3i5,1P10E15.6)") ii,jj,kk,x,y,z
+ call CCTK_WARN(1,warnline)
+ write(warnline,"(1P10E15.6)") drho,deps,temp,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)
+ call CCTK_WARN(0,"Aborting!!!")
+ endif
endif
endif
+
vlowx = gxx*dvelx + gxy*dvely + gxz*dvelz
vlowy = gxy*dvelx + gyy*dvely + gyz*dvelz
vlowz = gxz*dvelx + gyz*dvely + gzz*dvelz
More information about the Commits
mailing list