[Commits] [svn:einsteintoolkit] GRHydro/trunk/src/ (Rev. 517)

rhaas at tapir.caltech.edu rhaas at tapir.caltech.edu
Mon May 13 13:11:20 CDT 2013


User: rhaas
Date: 2013/05/13 01:11 PM

Removed:
 /trunk/src/
  GRHydro_InterfacesAM.h

Modified:
 /trunk/src/
  GRHydro_Con2PrimAM.F90

Log:
 GRHydro: remove duplicate (and incorrect) GRHydro_InterfacesAM.h
 
 sync up GRHydro_Con2PrimAM with GRHydro_Con2PrimM

File Changes:

Directory: /trunk/src/
======================

File [modified]: GRHydro_Con2PrimAM.F90
Delta lines: +35 -6
===================================================================
--- trunk/src/GRHydro_Con2PrimAM.F90	2013-05-13 17:54:52 UTC (rev 516)
+++ trunk/src/GRHydro_Con2PrimAM.F90	2013-05-13 18:11:19 UTC (rev 517)
@@ -13,7 +13,6 @@
 #include "cctk_Arguments.h"
 #include "cctk_Functions.h"
 #include "SpaceMask.h"
-#include "GRHydro_InterfacesAM.h"
 #include "GRHydro_Macros.h"
 
 #define ITER_TOL (1.0e-8)
@@ -349,6 +348,18 @@
               !of the comoving B-field, b^{\mu} b_{\mu}. It is overwritten 
               !in this routine, but we may need to find a better notation 
               !avoid future confusions.
+             if(GRHydro_eos_handle .eq. 1 .or. GRHydro_eos_handle .eq. 2) then
+             
+                call GRHydro_Con2PrimM_ptold(GRHydro_eos_handle, local_gam(1), dens(i,j,k), &
+                   scon(i,j,k,1),scon(i,j,k,2),scon(i,j,k,3), tau(i,j,k), &
+                   Bconsx_tmp,Bconsy_tmp,Bconsz_tmp,rho_tmp, & 
+                   velx_tmp,vely_tmp,velz_tmp,eps_tmp,press_tmp, &
+                   Bvecx_tmp,Bvecy_tmp,Bvecz_tmp,b2, w_lorentz_tmp,&
+                   g11(i,j,k),g12(i,j,k),g13(i,j,k),g22(i,j,k),g23(i,j,k),g33(i,j,k), &
+                   uxx,uxy,uxz,uyy,uyz,uzz,det, &
+                   epsnegative,GRHydro_C2P_failed(i,j,k))
+                   
+             else
               call GRHydro_Con2PrimM_pt2(GRHydro_eos_handle, keytemp, GRHydro_eos_rf_prec, GRHydro_perc_ptol, local_gam(1), dens(i,j,k), &
                    scon(i,j,k,1),scon(i,j,k,2),scon(i,j,k,3), tau(i,j,k), &
                    Bconsx_tmp, Bconsy_tmp, Bconsz_tmp,xye(1), &
@@ -358,9 +369,16 @@
                    g22(i,j,k),g23(i,j,k),g33(i,j,k), &
                    uxx,uxy,uxz,uyy,uyz,uzz,det, &
                    epsnegative,GRHydro_C2P_failed(i,j,k))
+              endif
 
               if(evolve_entropy.ne.0) then
+                if(GRHydro_C2P_failed(i,j,k).ne.0) then
+                  !Use previous time step for rho:
                  entropy(i,j,k) = entropycons(i,j,k)/dens(i,j,k)*rho(i,j,k)
+                else
+                  !Use the current correct value of rho returned by con2prim:
+                  entropy(i,j,k) = entropycons(i,j,k)/dens(i,j,k)*rho_tmp
+                endif
               endif
 
               if(GRHydro_C2P_failed(i,j,k).ne.0) then
@@ -449,6 +467,19 @@
                   Bconsy_tmp = sdet*Bvecy_tmp
                   Bconsz_tmp = sdet*Bvecz_tmp
 
+                  if(evolve_entropy.ne.0) then
+                    call GRHydro_Con2PrimM_ptee(GRHydro_eos_handle, keytemp, &
+                         GRHydro_eos_rf_prec, local_gam(1), dens(i,j,k), &
+                         scon(i,j,k,1),scon(i,j,k,2),scon(i,j,k,3), tau(i,j,k), &
+                         Bconsx_tmp,Bconsy_tmp,Bconsz_tmp, &
+                         entropycons(i,j,k), xye(1), &
+                         xtemp(1),rho_tmp,velx_tmp,vely_tmp,velz_tmp,&
+                         eps_tmp,press_tmp,Bvecx_tmp,Bvecy_tmp,Bvecz_tmp,b2,&
+                         w_lorentz_tmp,g11(i,j,k),g12(i,j,k),g13(i,j,k),&
+                         g22(i,j,k),g23(i,j,k),g33(i,j,k), &
+                         uxx,uxy,uxz,uyy,uyz,uzz,det, &
+                         epsnegative,GRHydro_C2P_failed(i,j,k))
+                  else
                   call GRHydro_Con2PrimM_Polytype_pt(GRHydro_eos_handle, local_pgam, &
                        dens(i,j,k),scon(i,j,k,1),scon(i,j,k,2),scon(i,j,k,3), sc, &
                        Bconsx_tmp, Bconsy_tmp, Bconsz_tmp, rho_tmp,&
@@ -457,6 +488,7 @@
                        g11(i,j,k),g12(i,j,k),g13(i,j,k),g22(i,j,k),g23(i,j,k),g33(i,j,k), &
                        uxx,uxy,uxz,uyy,uyz,uzz,det, &
                        epsnegative,GRHydro_C2P_failed(i,j,k))
+                  end if 
 
                   rho(i,j,k) = rho_tmp 
                   press(i,j,k) = press_tmp 
@@ -682,12 +714,8 @@
 
               !!$ tau does need to take into account the existing B-field
               !!$ with w_lorentz=1, we find tau = sqrtdet*(rho (1+eps+b^2/2)) - dens  [Press drops out]
-              tau(i,j,k)  = sdet * (rho(i,j,k)*(1.0+eps(i,j,k)+b2/2.0)) - dens(i,j,k)
+              tau(i,j,k)  = sdet * (rho(i,j,k)*eps(i,j,k)+b2/2.0)
 
-              if(tau(i,j,k).le.sdet*b2*0.5d0)then
-                tau(i,j,k) = GRHydro_tau_min + sdet*b2*0.5d0
-              endif
-
            end if
 
         end do
@@ -870,6 +898,7 @@
            if(evolve_Y_e.ne.0) then
               Y_e(i,j,k) = Y_e_con(i,j,k) / dens(i,j,k)
            endif
+
            Bconsx_tmp = sqrt(avg_detl)*Bvecxminus(i,j,k)
            Bconsy_tmp = sqrt(avg_detl)*Bvecyminus(i,j,k)
            Bconsz_tmp = sqrt(avg_detl)*Bveczminus(i,j,k)

File [removed]: GRHydro_InterfacesAM.h
Delta lines: +0 -95
===================================================================
--- trunk/src/GRHydro_InterfacesAM.h	2013-05-13 17:54:52 UTC (rev 516)
+++ trunk/src/GRHydro_InterfacesAM.h	2013-05-13 18:11:19 UTC (rev 517)
@@ -1,95 +0,0 @@
-module Con2PrimAM_fortran_interfaces
-  implicit none
-
-  interface
-
-     subroutine GRHydro_Con2PrimM_pt(  handle, keytemp, prec, &
-                                       local_gam, dens, &
-                        sx,  sy,  sz, &
-                        tau, &
-                        Bconsx,  Bconsy,  Bconsz, &
-                        xye, xtemp, &
-                        rho, &
-                        velx,  vely,  velz,&
-                        epsilon,  pressure,&
-                        Bx,  By,  Bz, &
-                        bsq,&
-                        w_lorentz, &
-                        gxx,  gxy,  gxz, &
-                        gyy,  gyz,  gzz, &
-                        uxx, uxy, uxz,&
-                        uyy, uyz, uzz,&
-                        det,&
-                        epsnegative, &
-                        retval)
-
-       implicit none       
-       CCTK_INT handle
-       CCTK_INT keytemp
-       CCTK_REAL prec
-       CCTK_REAL local_gam
-       CCTK_REAL dens 
-       CCTK_REAL sx, sy, sz
-       CCTK_REAL tau 
-       CCTK_REAL Bconsx, Bconsy, Bconsz
-       CCTK_REAL xye
-       CCTK_REAL xtemp 
-       CCTK_REAL rho
-       CCTK_REAL velx, vely, velz
-       CCTK_REAL epsilon, pressure
-       CCTK_REAL Bx, By, Bz
-       CCTK_REAL bsq
-       CCTK_REAL w_lorentz
-       CCTK_REAL gxx, gxy, gxz 
-       CCTK_REAL gyy, gyz, gzz
-       CCTK_REAL uxx, uxy, uxz
-       CCTK_REAL uyy, uyz, uzz
-       CCTK_REAL det
-       CCTK_INT epsnegative
-       CCTK_REAL retval
-     end subroutine  GRHydro_Con2PrimM_pt
-
-  subroutine GRHydro_Con2PrimM_Polytype_pt(  handle, local_gam,&
-                        dens, &
-                        sx,  sy,  sz, &
-                        sc, &
-                        Bconsx,  Bconsy,  Bconsz, &
-                        rho, &
-                        velx,  vely,  velz,&
-                        epsilon,  pressure,&
-                        Bx,  By,  Bz, &
-                        bsq,&
-                        w_lorentz, &
-                        gxx,  gxy,  gxz, &
-                        gyy,  gyz,  gzz, &
-                        uxx, uxy, uxz,&
-                        uyy, uyz, uzz,&
-                        det,&
-                        epsnegative, &
-                        retval)
-
-       implicit none       
-       CCTK_INT handle
-       CCTK_REAL local_gam
-       CCTK_REAL dens 
-       CCTK_REAL sx, sy, sz
-       CCTK_REAL sc 
-       CCTK_REAL Bconsx, Bconsy, Bconsz
-       CCTK_REAL rho
-       CCTK_REAL velx, vely, velz
-       CCTK_REAL epsilon, pressure
-       CCTK_REAL Bx, By, Bz
-       CCTK_REAL bsq
-       CCTK_REAL w_lorentz
-       CCTK_REAL gxx, gxy, gxz 
-       CCTK_REAL gyy, gyz, gzz
-       CCTK_REAL uxx, uxy, uxz
-       CCTK_REAL uyy, uyz, uzz
-       CCTK_REAL det
-       CCTK_INT epsnegative
-       CCTK_REAL retval
-     end subroutine  GRHydro_Con2PrimM_Polytype_pt
-
-  end interface
-
-end module Con2PrimAM_fortran_interfaces



More information about the Commits mailing list