aboutsummaryrefslogtreecommitdiff
path: root/src/GRHydro_UpdateMask.F90
diff options
context:
space:
mode:
authorrhaas <rhaas@c83d129a-5a75-4d5a-9c4d-ed3a5855bf45>2013-10-27 04:16:35 +0000
committerrhaas <rhaas@c83d129a-5a75-4d5a-9c4d-ed3a5855bf45>2013-10-27 04:16:35 +0000
commite937d71b0b60c2e1d59332d2dfa650b840f06ebc (patch)
tree9341dfd1e39efe4b899dc948393540a96ddf9745 /src/GRHydro_UpdateMask.F90
parent777d3d5417c9833eed108f298698ac934b7dd65e (diff)
GRHydro: replace Fortan pointers with Cray pointers
Intel 12 seems to like these better. Otherwise GRHydro_Con2PrimM.F90 takes very long to compile. git-svn-id: http://svn.einsteintoolkit.org/cactus/EinsteinEvolve/GRHydro/trunk@580 c83d129a-5a75-4d5a-9c4d-ed3a5855bf45
Diffstat (limited to 'src/GRHydro_UpdateMask.F90')
-rw-r--r--src/GRHydro_UpdateMask.F90156
1 files changed, 74 insertions, 82 deletions
diff --git a/src/GRHydro_UpdateMask.F90 b/src/GRHydro_UpdateMask.F90
index 60243de..071a9b0 100644
--- a/src/GRHydro_UpdateMask.F90
+++ b/src/GRHydro_UpdateMask.F90
@@ -240,12 +240,6 @@ subroutine GRHydro_AtmosphereReset(CCTK_ARGUMENTS)
implicit none
- ! save memory when MP is not used
- ! TARGET as to be before DECLARE_CCTK_ARGUMENTS for gcc 4.1
- TARGET gaa, gab, gac, gbb, gbc, gcc
- TARGET gxx, gxy, gxz, gyy, gyz, gzz
- TARGET lvel, vel
-
DECLARE_CCTK_ARGUMENTS
DECLARE_CCTK_PARAMETERS
@@ -255,8 +249,10 @@ subroutine GRHydro_AtmosphereReset(CCTK_ARGUMENTS)
! save memory when MP is not used
CCTK_INT :: GRHydro_UseGeneralCoordinates
- CCTK_REAL, DIMENSION(:,:,:), POINTER :: g11, g12, g13, g22, g23, g33
- CCTK_REAL, DIMENSION(:,:,:,:), POINTER :: vup
+ CCTK_REAL, DIMENSION(cctk_lsh(1),cctk_lsh(2),cctk_lsh(3)) :: g11, g12, g13, g22, g23, g33
+ pointer (pg11,g11), (pg12,g12), (pg13,g13), (pg22,g22), (pg23,g23), (pg33,g33)
+ CCTK_REAL, DIMENSION(cctk_lsh(1),cctk_lsh(2),cctk_lsh(3),3) :: vup
+ pointer (pvup,vup)
! begin EOS Omni vars
integer :: n,keytemp,anyerr,keyerr(1)
@@ -267,21 +263,21 @@ subroutine GRHydro_AtmosphereReset(CCTK_ARGUMENTS)
! save memory when MP is not used
if (GRHydro_UseGeneralCoordinates(cctkGH).ne.0) then
- g11 => gaa
- g12 => gab
- g13 => gac
- g22 => gbb
- g23 => gbc
- g33 => gcc
- vup => lvel
+ pg11 = loc(gaa)
+ pg12 = loc(gab)
+ pg13 = loc(gac)
+ pg22 = loc(gbb)
+ pg23 = loc(gbc)
+ pg33 = loc(gcc)
+ pvup = loc(lvel)
else
- g11 => gxx
- g12 => gxy
- g13 => gxz
- g22 => gyy
- g23 => gyz
- g33 => gzz
- vup => vel
+ pg11 = loc(gxx)
+ pg12 = loc(gxy)
+ pg13 = loc(gxz)
+ pg22 = loc(gyy)
+ pg23 = loc(gyz)
+ pg33 = loc(gzz)
+ pvup = loc(vel)
end if
if (verbose.eq.1) call CCTK_INFO("Entering AtmosphereReset.")
@@ -344,18 +340,6 @@ subroutine GRHydro_InitialAtmosphereReset(CCTK_ARGUMENTS)
implicit none
- ! save memory when MP is not used
- ! TARGET as to be before DECLARE_CCTK_ARGUMENTS for gcc 4.1
- TARGET gaa, gab, gac, gbb, gbc, gcc
- TARGET gxx, gxy, gxz, gyy, gyz, gzz
- TARGET lvel, vel
- TARGET gaa_p, gab_p, gac_p, gbb_p, gbc_p, gcc_p
- TARGET gxx_p, gxy_p, gxz_p, gyy_p, gyz_p, gzz_p
- TARGET lvel_p, vel_p
- TARGET gaa_p_p, gab_p_p, gac_p_p, gbb_p_p, gbc_p_p, gcc_p_p
- TARGET gxx_p_p, gxy_p_p, gxz_p_p, gyy_p_p, gyz_p_p, gzz_p_p
- TARGET lvel_p_p, vel_p_p
-
DECLARE_CCTK_ARGUMENTS
DECLARE_CCTK_PARAMETERS
@@ -368,14 +352,22 @@ subroutine GRHydro_InitialAtmosphereReset(CCTK_ARGUMENTS)
! save memory when MP is not used
CCTK_INT :: GRHydro_UseGeneralCoordinates
- CCTK_REAL, DIMENSION(:,:,:), POINTER :: g11, g12, g13, g22, g23, g33
- CCTK_REAL, DIMENSION(:,:,:,:), POINTER :: vup
- CCTK_REAL, DIMENSION(:,:,:), POINTER :: g11_p, g12_p, g13_p, g22_p, &
+ CCTK_REAL, DIMENSION(cctk_lsh(1),cctk_lsh(2),cctk_lsh(3)) :: g11, g12, g13, g22, g23, g33
+ pointer (pg11,g11), (pg12,g12), (pg13,g13), (pg22,g22), (pg23,g23), (pg33,g33)
+ CCTK_REAL, DIMENSION(cctk_lsh(1),cctk_lsh(2),cctk_lsh(3),3) :: vup
+ pointer (pvup,vup)
+ CCTK_REAL, DIMENSION(cctk_lsh(1),cctk_lsh(2),cctk_lsh(3)) :: g11_p, g12_p, g13_p, g22_p, &
g23_p, g33_p
- CCTK_REAL, DIMENSION(:,:,:,:), POINTER :: vup_p
- CCTK_REAL, DIMENSION(:,:,:), POINTER :: g11_p_p, g12_p_p, g13_p_p, g22_p_p, &
+ pointer (pg11_p,g11_p), (pg12_p,g12_p), (pg13_p,g13_p), (pg22_p,g22_p), &
+ (pg23_p,g23_p), (pg33_p,g33_p)
+ CCTK_REAL, DIMENSION(cctk_lsh(1),cctk_lsh(2),cctk_lsh(3),3) :: vup_p
+ pointer (pvup_p,vup_p)
+ CCTK_REAL, DIMENSION(cctk_lsh(1),cctk_lsh(2),cctk_lsh(3)) :: g11_p_p, g12_p_p, g13_p_p, g22_p_p, &
g23_p_p, g33_p_p
- CCTK_REAL, DIMENSION(:,:,:,:), POINTER :: vup_p_p
+ pointer (pg11_p_p,g11_p_p), (pg12_p_p,g12_p_p), (pg13_p_p,g13_p_p), (pg22_p_p,g22_p_p), &
+ (pg23_p_p, g23_p_p), (pg33_p_p, g33_p_p)
+ CCTK_REAL, DIMENSION(cctk_lsh(1),cctk_lsh(2),cctk_lsh(3),3) :: vup_p_p
+ pointer (pvup_p_p,vup_p_p)
! begin EOS Omni vars
integer :: n,keytemp,anyerr,keyerr(1)
@@ -386,58 +378,58 @@ subroutine GRHydro_InitialAtmosphereReset(CCTK_ARGUMENTS)
! save memory when MP is not used
if (GRHydro_UseGeneralCoordinates(cctkGH).ne.0) then
- g11 => gaa
- g12 => gab
- g13 => gac
- g22 => gbb
- g23 => gbc
- g33 => gcc
- vup => lvel
+ pg11 = loc(gaa)
+ pg12 = loc(gab)
+ pg13 = loc(gac)
+ pg22 = loc(gbb)
+ pg23 = loc(gbc)
+ pg33 = loc(gcc)
+ pvup = loc(lvel)
else
- g11 => gxx
- g12 => gxy
- g13 => gxz
- g22 => gyy
- g23 => gyz
- g33 => gzz
- vup => vel
+ pg11 = loc(gxx)
+ pg12 = loc(gxy)
+ pg13 = loc(gxz)
+ pg22 = loc(gyy)
+ pg23 = loc(gyz)
+ pg33 = loc(gzz)
+ pvup = loc(vel)
end if
if (timelevels .gt. 1) then
if (GRHydro_UseGeneralCoordinates(cctkGH).ne.0) then
- g11_p => gaa_p
- g12_p => gab_p
- g13_p => gac_p
- g22_p => gbb_p
- g23_p => gbc_p
- g33_p => gcc_p
- vup_p => lvel_p
+ pg11_p = loc(gaa_p)
+ pg12_p = loc(gab_p)
+ pg13_p = loc(gac_p)
+ pg22_p = loc(gbb_p)
+ pg23_p = loc(gbc_p)
+ pg33_p = loc(gcc_p)
+ pvup_p = loc(lvel_p)
else
- g11_p => gxx_p
- g12_p => gxy_p
- g13_p => gxz_p
- g22_p => gyy_p
- g23_p => gyz_p
- g33_p => gzz_p
- vup_p => vel_p
+ pg11_p = loc(gxx_p)
+ pg12_p = loc(gxy_p)
+ pg13_p = loc(gxz_p)
+ pg22_p = loc(gyy_p)
+ pg23_p = loc(gyz_p)
+ pg33_p = loc(gzz_p)
+ pvup_p = loc(vel_p)
end if
end if
if (timelevels .gt. 2) then
if (GRHydro_UseGeneralCoordinates(cctkGH).ne.0) then
- g11_p_p => gaa_p_p
- g12_p_p => gab_p_p
- g13_p_p => gac_p_p
- g22_p_p => gbb_p_p
- g23_p_p => gbc_p_p
- g33_p_p => gcc_p_p
- vup_p_p => lvel_p_p
+ pg11_p_p = loc(gaa_p_p)
+ pg12_p_p = loc(gab_p_p)
+ pg13_p_p = loc(gac_p_p)
+ pg22_p_p = loc(gbb_p_p)
+ pg23_p_p = loc(gbc_p_p)
+ pg33_p_p = loc(gcc_p_p)
+ pvup_p_p = loc(lvel_p_p)
else
- g11_p_p => gxx_p_p
- g12_p_p => gxy_p_p
- g13_p_p => gxz_p_p
- g22_p_p => gyy_p_p
- g23_p_p => gyz_p_p
- g33_p_p => gzz_p_p
- vup_p_p => vel_p_p
+ pg11_p_p = loc(gxx_p_p)
+ pg12_p_p = loc(gxy_p_p)
+ pg13_p_p = loc(gxz_p_p)
+ pg22_p_p = loc(gyy_p_p)
+ pg23_p_p = loc(gyz_p_p)
+ pg33_p_p = loc(gzz_p_p)
+ pvup_p_p = loc(vel_p_p)
end if
end if