From 17f782f2a241db7f2ed8795cb4a1af7ed7ec28e5 Mon Sep 17 00:00:00 2001 From: rhaas Date: Thu, 15 Sep 2011 16:51:30 +0000 Subject: remove explicit dependence on Multipatch thorns GRHydro now compiles and runs without MP thorns present and behaves identical to the old version git-svn-id: http://svn.einsteintoolkit.org/cactus/EinsteinEvolve/GRHydro/trunk@274 c83d129a-5a75-4d5a-9c4d-ed3a5855bf45 --- src/GRHydro_Boundaries.F90 | 51 ++++++++++++++++++++++++++++++++++++++-------- 1 file changed, 42 insertions(+), 9 deletions(-) (limited to 'src/GRHydro_Boundaries.F90') diff --git a/src/GRHydro_Boundaries.F90 b/src/GRHydro_Boundaries.F90 index 0a1b3d8..a432d09 100644 --- a/src/GRHydro_Boundaries.F90 +++ b/src/GRHydro_Boundaries.F90 @@ -55,6 +55,7 @@ subroutine GRHydro_InitSymBound(CCTK_ARGUMENTS) integer, dimension(3) :: sym integer :: ierr = 0 integer :: itracer + CCTK_INT :: GRHydro_UseGeneralCoordinates, general_coordinates character(len=100) tracername character(len=100) tracerindex @@ -62,6 +63,8 @@ subroutine GRHydro_InitSymBound(CCTK_ARGUMENTS) sym(1) = 1 sym(2) = 1 sym(3) = 1 + + general_coordinates = GRHydro_UseGeneralCoordinates(cctkGH) call SetCartSymVN(ierr, cctkGH, sym, "HydroBase::rho") call SetCartSymVN(ierr, cctkGH, sym, "HydroBase::press") @@ -94,7 +97,11 @@ subroutine GRHydro_InitSymBound(CCTK_ARGUMENTS) sym(2) = 1 sym(3) = 1 - call SetCartSymVN(ierr, cctkGH, sym, "GRHydro::lvel[0]") + if (general_coordinates .ne. 0) then + call SetCartSymVN(ierr, cctkGH, sym, "GRHydro::lvel[0]") + else + call SetCartSymVN(ierr, cctkGH, sym, "HydroBase::vel[0]") + endif call SetCartSymVN(ierr, cctkGH, sym, "GRHydro::scon[0]") if(evolve_mhd.ne.0) then call SetCartSymVN(ierr, cctkGH, sym, "HydroBase::Bvec[0]") @@ -105,7 +112,11 @@ subroutine GRHydro_InitSymBound(CCTK_ARGUMENTS) sym(2) = -1 sym(3) = 1 - call SetCartSymVN(ierr, cctkGH, sym, "GRHydro::lvel[1]") + if (general_coordinates .ne. 0) then + call SetCartSymVN(ierr, cctkGH, sym, "GRHydro::lvel[1]") + else + call SetCartSymVN(ierr, cctkGH, sym, "HydroBase::vel[1]") + endif call SetCartSymVN(ierr, cctkGH, sym, "GRHydro::scon[1]") if(evolve_mhd.ne.0) then call SetCartSymVN(ierr, cctkGH, sym, "HydroBase::Bvec[1]") @@ -116,7 +127,11 @@ subroutine GRHydro_InitSymBound(CCTK_ARGUMENTS) sym(2) = 1 sym(3) = -1 - call SetCartSymVN(ierr, cctkGH, sym, "GRHydro::lvel[2]") + if (general_coordinates .ne. 0) then + call SetCartSymVN(ierr, cctkGH, sym, "GRHydro::lvel[2]") + else + call SetCartSymVN(ierr, cctkGH, sym, "HydroBase::vel[2]") + endif call SetCartSymVN(ierr, cctkGH, sym, "GRHydro::scon[2]") if(evolve_mhd.ne.0) then call SetCartSymVN(ierr, cctkGH, sym, "HydroBase::Bvec[2]") @@ -158,12 +173,15 @@ subroutine GRHydro_Boundaries(CCTK_ARGUMENTS) integer :: ierr CCTK_REAL :: pi = 3.141569d0 integer :: i,j,k + CCTK_INT :: GRHydro_UseGeneralCoordinates, general_coordinates CCTK_INT, parameter :: faces=CCTK_ALL_FACES CCTK_INT, parameter :: ione=1 sw = GRHydro_stencil + general_coordinates = GRHydro_UseGeneralCoordinates(cctkGH) + !!$Flat boundaries if required if (CCTK_EQUALS(bound,"flat")) then @@ -181,11 +199,21 @@ subroutine GRHydro_Boundaries(CCTK_ARGUMENTS) "HydroBase::press", "Flat") ierr = Boundary_SelectGroupForBC(cctkGH, faces, GRHydro_stencil, -ione, & "HydroBase::eps", "Flat") - ierr = Boundary_SelectGroupForBC(cctkGH, faces, GRHydro_stencil, -ione, & - "GRHydro::lvel", "Flat") - if(evolve_mhd.ne.0) then + if (general_coordinates .ne. 0) then ierr = Boundary_SelectGroupForBC(cctkGH, faces, GRHydro_stencil, -ione, & - "GRHydro::lBvec", "Flat") + "GRHydro::lvel", "Flat") + else + ierr = Boundary_SelectGroupForBC(cctkGH, faces, GRHydro_stencil, -ione, & + "HydroBase::vel", "Flat") + endif + if(evolve_mhd.ne.0) then + if (general_coordinates .ne. 0) then + ierr = Boundary_SelectGroupForBC(cctkGH, faces, GRHydro_stencil, -ione, & + "GRHydro::lBvec", "Flat") + else + ierr = Boundary_SelectGroupForBC(cctkGH, faces, GRHydro_stencil, -ione, & + "HydroBase::Bvec", "Flat") + endif ierr = Boundary_SelectGroupForBC(cctkGH, faces, GRHydro_stencil, -ione, & "GRHydro::Bcons", "Flat") if(clean_divergence.ne.0) then @@ -236,8 +264,13 @@ subroutine GRHydro_Boundaries(CCTK_ARGUMENTS) ierr = Boundary_SelectGroupForBC(cctkGH, faces, GRHydro_stencil, -ione, & "HydroBase::vel", "None") if(evolve_mhd.ne.0) then - ierr = Boundary_SelectGroupForBC(cctkGH, faces, GRHydro_stencil, -ione, & - "GRHydro::lBvec", "None") + if (general_coordinates .ne. 0) then + ierr = Boundary_SelectGroupForBC(cctkGH, faces, GRHydro_stencil, -ione, & + "GRHydro::lBvec", "None") + else + ierr = Boundary_SelectGroupForBC(cctkGH, faces, GRHydro_stencil, -ione, & + "HydroBase::Bvec", "None") + endif ierr = Boundary_SelectGroupForBC(cctkGH, faces, GRHydro_stencil, -ione, & "GRHydro::Bcons", "None") if(clean_divergence.ne.0) then -- cgit v1.2.3