aboutsummaryrefslogtreecommitdiff
path: root/src/GRHydro_Con2PrimM.F90
diff options
context:
space:
mode:
authorcott <cott@c83d129a-5a75-4d5a-9c4d-ed3a5855bf45>2011-03-28 15:15:34 +0000
committercott <cott@c83d129a-5a75-4d5a-9c4d-ed3a5855bf45>2011-03-28 15:15:34 +0000
commit3d8e8d35cccf5c0ce0a62d2a576f885809c86aee (patch)
treeac54ab4b644d53401b3d5b12d8369cf496830605 /src/GRHydro_Con2PrimM.F90
parent6068f0c05431e0428488e9b101ab0c6e0c9cb425 (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.F90283
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