diff options
author | cott <cott@c83d129a-5a75-4d5a-9c4d-ed3a5855bf45> | 2011-03-28 15:15:34 +0000 |
---|---|---|
committer | cott <cott@c83d129a-5a75-4d5a-9c4d-ed3a5855bf45> | 2011-03-28 15:15:34 +0000 |
commit | 3d8e8d35cccf5c0ce0a62d2a576f885809c86aee (patch) | |
tree | ac54ab4b644d53401b3d5b12d8369cf496830605 /src/GRHydro_Con2PrimM.F90 | |
parent | 6068f0c05431e0428488e9b101ab0c6e0c9cb425 (diff) |
* remove support for "General" EOS interface (EOSG_*)
* test suites pass with Intel 11 (no optimizaton) on bethe
and gcc 4.4.5
git-svn-id: http://svn.einsteintoolkit.org/cactus/EinsteinEvolve/GRHydro/trunk@225 c83d129a-5a75-4d5a-9c4d-ed3a5855bf45
Diffstat (limited to 'src/GRHydro_Con2PrimM.F90')
-rw-r--r-- | src/GRHydro_Con2PrimM.F90 | 283 |
1 files changed, 0 insertions, 283 deletions
diff --git a/src/GRHydro_Con2PrimM.F90 b/src/GRHydro_Con2PrimM.F90 index 79e24eb..582eec5 100644 --- a/src/GRHydro_Con2PrimM.F90 +++ b/src/GRHydro_Con2PrimM.F90 @@ -746,286 +746,3 @@ end subroutine Con2PrimBoundsPolytypeM !!$ Con2Prim_ptTracer, Con2Prim_BoundsTracer, and Con2Prim_ptBoundsTracer need not be rewritten! - /*@@ - @routine Conservative2PrimitiveGeneralM - @date Sep 16, 2010 - @author Scott Noble, Joshua Faber, Bruno Mundim, Ian Hawke - @desc - Wrapper routine that converts from conserved to primitive variables - at every grid cell centre. Converted to the EOSGeneral format - @enddesc - @calls - @calledby - @history - @endhistory - -@@*/ - -subroutine Conservative2PrimitiveGeneralM(CCTK_ARGUMENTS) - - USE GRHydro_Scalars - USE Con2PrimM_fortran_interfaces - - implicit none - - DECLARE_CCTK_ARGUMENTS - DECLARE_CCTK_PARAMETERS - DECLARE_CCTK_FUNCTIONS - - CCTK_INT :: i, j, k, itracer, nx, ny, nz - character(len=100) warnline - - integer :: maxerrloc(3) - integer :: ii,jj,kk - CCTK_REAL :: maxerr - - - CCTK_INT :: count - CCTK_REAL :: b2,det - CCTK_REAL :: uxx,uxy,uxz,uyy,uyz,uzz, local_gam, local_pgam - - CCTK_INT :: type_bits, atmosphere - CCTK_INT :: type2_bits,epsnegative - - CCTK_REAL :: local_min_tracer - - CCTK_INT, dimension(3) :: loc, loc2 - -!!$ begin EOS Omni vars - integer :: n,keytemp,anyerr,keyerr(1) - real*8 :: xpress(1),xtemp(1),xye(1),xdens(1),xeps(1) - n=1 - keytemp=0 - anyerr=0 - keyerr(1)=0 - xpress(1)=0.0d0 - xtemp(1)=0.0d0 - xye(1)=0.0d0 -!!$ end EOS Omni vars - - xdens(1)=1.d0 - xeps(1)=1.d0 - call EOS_Omni_press(GRHydro_eos_handle,keytemp,GRHydro_eos_rf_prec,n,& - xdens,xeps,xtemp,xye,xpress,keyerr,anyerr) - local_gam=xpress(1)+1.d0 - - call SpaceMask_GetTypeBits(type_bits, "Hydro_Atmosphere") - call SpaceMask_GetStateBits(atmosphere, "Hydro_Atmosphere", "in_atmosphere") - type2_bits = -1 - - nx = cctk_lsh(1) - ny = cctk_lsh(2) - nz = cctk_lsh(3) - - count = 0 - press_old = max(eosgeneral_pmin, press) - - if (use_min_tracer .ne. 0) then - local_min_tracer = min_tracer - else - local_min_tracer = 0d0 - end if - -!!$ Set up rho and epsilon - - do k = 1, nz - do j = 1, ny - do i = 1, nx - - if (evolve_tracer .ne. 0) then - do itracer=1,number_of_tracers - call Con2Prim_ptTracer(cons_tracer(i,j,k,itracer), & - tracer(i,j,k,itracer), dens(i,j,k)) - if (use_min_tracer .ne. 0) then - if (tracer(i,j,k,itracer) .le. local_min_tracer) then - tracer(i,j,k,itracer) = local_min_tracer - end if - end if - enddo - endif - - if(evolve_Y_e.ne.0) then - Y_e(i,j,k) = Y_e_con(i,j,k) / dens(i,j,k) - endif - - - if ( (dens(i,j,k).le.sqrt(GRHydro_Det(i,j,k)) * & - GRHydro_rho_min*(1.0d0+GRHydro_atmo_tolerance)) & - .or.(tau(i,j,k) .le. 0d0)) then - - b2=gxx(i,j,k)*Bvec(i,j,k,1)**2+gyy(i,j,k)*Bvec(i,j,k,2)**2+gzz(i,j,k)*Bvec(i,j,k,3)**2+ & - 2.0*(gxy(i,j,k)*Bvec(i,j,k,1)*Bvec(i,j,k,2)+gxz(i,j,k)*Bvec(i,j,k,1)*Bvec(i,j,k,3)+ & - gyz(i,j,k)*Bvec(i,j,k,2)*Bvec(i,j,k,3)) - - - rho(i,j,k) = GRHydro_rho_min - dens(i,j,k) = sqrt(GRHydro_det(i,j,k)) * rho(i,j,k) - scon(i,j,k,:) = 0.d0 - w_lorentz(i,j,k) = 1.d0 - press(i,j,k) = 0.1d0 * eosgeneral_pmin - ! eps(i,j,k) = press(i,j,k) / rho(i,j,k) ! Note that this should be improved - eps(i,j,k) = 1.0e-12 - tau(i,j,k) = sqrt(GRHydro_det(i,j,k)) * rho(i,j,k) * (1.0+eps(i,j,k)+b2/2.0) - dens(i,j,k) - - SpaceMask_SetStateBitsF90(space_mask, i, j, k, type_bits, atmosphere) - atmosphere_mask(i,j,k) = 1 - - end if - - det=SPATIAL_DETERMINANT(gxx(i,j,k),gxy(i,j,k),gxz(i,j,k),gyy(i,j,k),gyz(i,j,k),gzz(i,j,k)) - call UpperMetric(uxx,uxy,uxz,uyy,uyz,uzz,det,& - gxx(i,j,k),gxy(i,j,k),gxz(i,j,k),gyy(i,j,k),& - gyz(i,j,k),gzz(i,j,k)) - - call GRHydro_Con2PrimM_pt(GRHydro_eos_handle, local_gam,dens(i,j,k), & - scon(i,j,k,1),scon(i,j,k,2),scon(i,j,k,3), tau(i,j,k),& - rho(i,j,k),& - vel(i,j,k,1),vel(i,j,k,2),vel(i,j,k,3),eps(i,j,k),press(i,j,k),w_lorentz(i,j,k),& - gxx(i,j,k),gxy(i,j,k),gxz(i,j,k),gyy(i,j,k),gyz(i,j,k),gzz(i,j,k), & - uxx,uxy,uxz,uyy,uyz,uzz,det, & - Bvec(i,j,k,1), Bvec(i,j,k,2),Bvec(i,j,k,3),b2,& - epsnegative,GRHydro_C2P_failed(i,j,k)) - - end do - end do - end do - - -end subroutine Conservative2PrimitiveGeneralM - - - /*@@ - @routine Conservative2PrimitivePolytypeGeneralM - @date Sep 16, 2010 - @author Scott Noble, Joshua Faber, Bruno Mundim, Ian Hawke - @desc - Wrapper routine that converts from conserved to primitive variables - at every grid cell centre. Converted to the EOSGeneral format - @enddesc - @calls - @calledby - @history - @endhistory - -@@*/ - -subroutine Con2PrimPolytypeGeneralM(CCTK_ARGUMENTS) - - USE GRHydro_Scalars - - implicit none - - DECLARE_CCTK_ARGUMENTS - DECLARE_CCTK_PARAMETERS - DECLARE_CCTK_FUNCTIONS - - CCTK_INT :: i, j, k, itracer, nx, ny, nz - character(len=100) warnline - - CCTK_REAL :: b2, det - CCTK_REAL :: uxx,uxy,uxz,uyy,uyz,uzz - - CCTK_INT :: type_bits - CCTK_INT :: atmosphere - CCTK_INT :: type2_bits,epsnegative - - CCTK_REAL :: local_min_tracer, local_pgam, local_k, sc - -! begin EOS Omni vars - integer :: n,keytemp,anyerr,keyerr(1) - real*8 :: xpress(1),xtemp(1),xye(1),xeps(1),xrho(1) - n=1;keytemp=0;anyerr=0;keyerr(1)=0 - xpress(1)=0.0d0;xtemp(1)=0.0d0;xye(1)=0.0d0;xeps(1)=0.0d0 -! end EOS Omni vars - - call SpaceMask_GetTypeBits(type_bits, "Hydro_Atmosphere") - call SpaceMask_GetStateBits(atmosphere, "Hydro_Atmosphere", "in_atmosphere") - type2_bits = -1 - - nx = cctk_lsh(1) - ny = cctk_lsh(2) - nz = cctk_lsh(3) - - if (use_min_tracer .ne. 0) then - local_min_tracer = min_tracer - else - local_min_tracer = 0d0 - end if - -!!$ In what follows press_temp is really rho_temp - - do k = 1, nz - do j = 1, ny - do i = 1, nx - - if (evolve_tracer .ne. 0) then - do itracer=1,number_of_tracers - call Con2Prim_ptTracer(cons_tracer(i,j,k,itracer), & - tracer(i,j,k,itracer), dens(i,j,k)) - - if (use_min_tracer .ne. 0) then - if (tracer(i,j,k,itracer) .le. local_min_tracer) then - tracer(i,j,k,itracer) = local_min_tracer - end if - end if - enddo - end if - - if(evolve_Y_e.ne.0) then - Y_e(i,j,k) = Y_e_con(i,j,k) / dens(i,j,k) - endif - - - if (dens(i,j,k).le.sqrt(GRHydro_Det(i,j,k)) * & - GRHydro_rho_min*(1.0d0+GRHydro_atmo_tolerance)) then - - b2=gxx(i,j,k)*Bvec(i,j,k,1)**2+gyy(i,j,k)*Bvec(i,j,k,2)**2+gzz(i,j,k)*Bvec(i,j,k,3)**2+ & - 2.0*(gxy(i,j,k)*Bvec(i,j,k,1)*Bvec(i,j,k,2)+gxz(i,j,k)*Bvec(i,j,k,1)*Bvec(i,j,k,3)+ & - gyz(i,j,k)*Bvec(i,j,k,2)*Bvec(i,j,k,3)) - - - rho(i,j,k) = GRHydro_rho_min - dens(i,j,k) = sqrt(GRHydro_det(i,j,k)) * rho(i,j,k) - scon(i,j,k,:) = 0.d0 - w_lorentz(i,j,k) = 1.d0 - press(i,j,k) = 0.1d0 * eosgeneral_pmin - ! eps(i,j,k) = press(i,j,k) / rho(i,j,k) ! Note that this should be improved - eps(i,j,k) = 1.0e-12 - tau(i,j,k) = sqrt(GRHydro_det(i,j,k)) * rho(i,j,k) * (1.0+eps(i,j,k)+b2/2.0) - dens(i,j,k) - - SpaceMask_SetStateBitsF90(space_mask, i, j, k, type_bits, atmosphere) - atmosphere_mask(i,j,k) = 1 - - end if - - det=SPATIAL_DETERMINANT(gxx(i,j,k),gxy(i,j,k),gxz(i,j,k),gyy(i,j,k),gyz(i,j,k),gzz(i,j,k)) - call UpperMetric(uxx,uxy,uxz,uyy,uyz,uzz,det,& - gxx(i,j,k),gxy(i,j,k),gxz(i,j,k),gyy(i,j,k),& - gyz(i,j,k),gzz(i,j,k)) - - xrho(1)=1.d0 - call EOS_Omni_press(GRHydro_polytrope_handle,keytemp,GRHydro_eos_rf_prec,n,& - xrho,xeps,xtemp,xye,xpress,keyerr,anyerr) - local_K = xpress(1) - - xrho(1)=10.d0 - call EOS_Omni_press(GRHydro_polytrope_handle,keytemp,GRHydro_eos_rf_prec,n,& - xrho,xeps,xtemp,xye,xpress,keyerr,anyerr) - local_pgam=log(xpress(1)/local_K)/log(xrho(1)) - sc = local_K*dens(i,j,k) - - 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,& - rho(i,j,k),& - vel(i,j,k,1),vel(i,j,k,2),vel(i,j,k,3),eps(i,j,k),press(i,j,k),w_lorentz(i,j,k),& - gxx(i,j,k),gxy(i,j,k),gxz(i,j,k),gyy(i,j,k),gyz(i,j,k),gzz(i,j,k), & - uxx,uxy,uxz,uyy,uyz,uzz,det, & - Bvec(i,j,k,1), Bvec(i,j,k,2),Bvec(i,j,k,3),b2,& - epsnegative,GRHydro_C2P_failed(i,j,k)) - - end do - end do -end do - - -end subroutine Con2PrimPolytypeGeneralM |