aboutsummaryrefslogtreecommitdiff
path: root/src/GRHydro_Con2PrimM.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_Con2PrimM.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_Con2PrimM.F90')
-rw-r--r--src/GRHydro_Con2PrimM.F90114
1 files changed, 32 insertions, 82 deletions
diff --git a/src/GRHydro_Con2PrimM.F90 b/src/GRHydro_Con2PrimM.F90
index a871b7e..f0f9421 100644
--- a/src/GRHydro_Con2PrimM.F90
+++ b/src/GRHydro_Con2PrimM.F90
@@ -47,9 +47,6 @@ subroutine Conservative2PrimitiveM(CCTK_ARGUMENTS)
use Con2PrimM_fortran_interfaces
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
@@ -78,8 +75,10 @@ subroutine Conservative2PrimitiveM(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, Bprim
+ CCTK_REAL, DIMENSION(cctk_ash(1),cctk_ash(2),cctk_ash(3)) :: g11, g12, g13, g22, g23, g33
+ CCTK_REAL, DIMENSION(cctk_ash(1),cctk_ash(2),cctk_ash(3),3) :: vup, Bprim
+ pointer (pg11, g11), (pg12, g12), (pg13, g13), (pg22, g22), (pg23, g23), (pg33, g33)
+ pointer (pvup, vup), (pBprim, Bprim)
logical :: posdef
@@ -100,23 +99,13 @@ subroutine Conservative2PrimitiveM(CCTK_ARGUMENTS)
posdef = .true.
if (GRHydro_UseGeneralCoordinates(cctkGH).ne.0) then
- g11 => gaa
- g12 => gab
- g13 => gac
- g22 => gbb
- g23 => gbc
- g33 => gcc
- vup => lvel
- Bprim => lBvec
+ pg11 = loc(gaa) ; pg12 = loc(gab) ; pg13 = loc(gac)
+ pg22 = loc(gbb) ; pg23 = loc(gbc) ; pg33 = loc(gcc)
+ pvup = loc(lvel) ; pBprim = loc(lBvec)
else
- g11 => gxx
- g12 => gxy
- g13 => gxz
- g22 => gyy
- g23 => gyz
- g33 => gzz
- vup => vel
- Bprim => Bvec
+ pg11 = loc(gxx) ; pg12 = loc(gxy) ; pg13 = loc(gxz)
+ pg22 = loc(gyy) ; pg23 = loc(gyz) ; pg33 = loc(gzz)
+ pvup = loc(vel) ; pBprim = loc(Bvec)
end if
#define gxx faulty_gxx
#define gxy faulty_gxy
@@ -779,11 +768,6 @@ subroutine Conservative2PrimitiveBoundsM(CCTK_ARGUMENTS)
use Con2PrimM_fortran_interfaces
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
DECLARE_CCTK_ARGUMENTS
DECLARE_CCTK_PARAMETERS
@@ -807,22 +791,15 @@ subroutine Conservative2PrimitiveBoundsM(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(cctk_ash(1),cctk_ash(2),cctk_ash(3)) :: g11, g12, g13, g22, g23, g33
+ pointer (pg11, g11), (pg12, g12), (pg13, g13), (pg22, g22), (pg23, g23), (pg33, g33)
if (GRHydro_UseGeneralCoordinates(cctkGH).ne.0) then
- g11 => gaa
- g12 => gab
- g13 => gac
- g22 => gbb
- g23 => gbc
- g33 => gcc
+ pg11 = loc(gaa) ; pg12 = loc(gab) ; pg13 = loc(gac)
+ pg22 = loc(gbb) ; pg23 = loc(gbc) ; pg33 = loc(gcc)
else
- g11 => gxx
- g12 => gxy
- g13 => gxz
- g22 => gyy
- g23 => gyz
- g33 => gzz
+ pg11 = loc(gxx) ; pg12 = loc(gxy) ; pg13 = loc(gxz)
+ pg22 = loc(gyy) ; pg23 = loc(gyz) ; pg33 = loc(gzz)
end if
#define gxx faulty_gxx
#define gxy faulty_gxy
@@ -1063,13 +1040,6 @@ specialised from polytropic type EOS.
subroutine Conservative2PrimitivePolytypeM(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 lBvec, Bvec
DECLARE_CCTK_ARGUMENTS
DECLARE_CCTK_PARAMETERS
@@ -1089,27 +1059,19 @@ subroutine Conservative2PrimitivePolytypeM(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, Bprim
+ CCTK_REAL, DIMENSION(cctk_ash(1),cctk_ash(2),cctk_ash(3)) :: g11, g12, g13, g22, g23, g33
+ CCTK_REAL, DIMENSION(cctk_ash(1),cctk_ash(2),cctk_ash(3),3) :: vup, Bprim
+ pointer (pg11, g11), (pg12, g12), (pg13, g13), (pg22, g22), (pg23, g23), (pg33, g33)
+ pointer (pvup, vup), (pBprim, Bprim)
if (GRHydro_UseGeneralCoordinates(cctkGH).ne.0) then
- g11 => gaa
- g12 => gab
- g13 => gac
- g22 => gbb
- g23 => gbc
- g33 => gcc
- vup => lvel
- Bprim => lBvec
+ pg11 = loc(gaa) ; pg12 = loc(gab) ; pg13 = loc(gac)
+ pg22 = loc(gbb) ; pg23 = loc(gbc) ; pg33 = loc(gcc)
+ pvup = loc(lvel) ; pBprim = loc(lBvec)
else
- g11 => gxx
- g12 => gxy
- g13 => gxz
- g22 => gyy
- g23 => gyz
- g33 => gzz
- vup => vel
- Bprim => Bvec
+ pg11 = loc(gxx) ; pg12 = loc(gxy) ; pg13 = loc(gxz)
+ pg22 = loc(gyy) ; pg23 = loc(gyz) ; pg33 = loc(gzz)
+ pvup = loc(vel) ; pBprim = loc(Bvec)
end if
#define gxx faulty_gxx
#define gxy faulty_gxy
@@ -1241,11 +1203,6 @@ end subroutine Conservative2PrimitivePolytypeM
subroutine Con2PrimBoundsPolytypeM(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
DECLARE_CCTK_ARGUMENTS
DECLARE_CCTK_PARAMETERS
@@ -1267,22 +1224,15 @@ subroutine Con2PrimBoundsPolytypeM(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(cctk_ash(1),cctk_ash(2),cctk_ash(3)) :: g11, g12, g13, g22, g23, g33
+ pointer (pg11, g11), (pg12, g12), (pg13, g13), (pg22, g22), (pg23, g23), (pg33, g33)
if (GRHydro_UseGeneralCoordinates(cctkGH).ne.0) then
- g11 => gaa
- g12 => gab
- g13 => gac
- g22 => gbb
- g23 => gbc
- g33 => gcc
+ pg11 = loc(gaa) ; pg12 = loc(gab) ; pg13 = loc(gac)
+ pg22 = loc(gbb) ; pg23 = loc(gbc) ; pg33 = loc(gcc)
else
- g11 => gxx
- g12 => gxy
- g13 => gxz
- g22 => gyy
- g23 => gyz
- g33 => gzz
+ pg11 = loc(gxx) ; pg12 = loc(gxy) ; pg13 = loc(gxz)
+ pg22 = loc(gyy) ; pg23 = loc(gyz) ; pg33 = loc(gzz)
end if
#define gxx faulty_gxx
#define gxy faulty_gxy