aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authortradke <tradke@5301f0c2-dbc4-4cee-b2f5-8d7afba4d129>2001-02-15 14:42:30 +0000
committertradke <tradke@5301f0c2-dbc4-4cee-b2f5-8d7afba4d129>2001-02-15 14:42:30 +0000
commit33c044d74e13ff89da64e278d5f099fc380fe12f (patch)
tree920d2ba7205cdba7e2388ac47c5d0b04f58d99dc
parent9bd4b3ea3155ba07a27a2bfb68ed8d557caf6f88 (diff)
Use the new interpolation flesh API routines and call the new interpolation
operators from PUGHInterp (according to the setting of the Extract::interpolation_order parameter). git-svn-id: http://svn.einsteintoolkit.org/cactus/EinsteinAnalysis/Extract/trunk@37 5301f0c2-dbc4-4cee-b2f5-8d7afba4d129
-rw-r--r--src/D3_extract.F6
-rw-r--r--src/D3_extract_int.F4
-rw-r--r--src/D3_to_D2.F360
-rw-r--r--src/D3_to_D2_int.F4
-rw-r--r--src/Extract.F5
5 files changed, 169 insertions, 210 deletions
diff --git a/src/D3_extract.F b/src/D3_extract.F
index e2b9980..4fb6899 100644
--- a/src/D3_extract.F
+++ b/src/D3_extract.F
@@ -4,7 +4,7 @@
c ==================================================================
SUBROUTINE D3_extract(cctkGH,do_ADMmass,do_momentum,do_spin,igrid,
- & origin,myproc,Nt,Np,all_modes,
+ & origin,myproc,interpolation_order,Nt,Np,all_modes,
& l,m,x,y,z,Dx,Dy,Dz,Psi_power,Psi,
& g00,gxx,gxy,gxz,gyy,gyz,gzz,hxx,hxy,hxz,hyy,hyz,hzz,
& eta,ADMmass,momentum,spin,mass,rsch,Qodd,Qeven,Extract_temp3d,dtaudt)
@@ -73,7 +73,7 @@ c Input variables
INTEGER,INTENT(IN) ::
& igrid,l,m,Psi_power,myproc
CCTK_INT,INTENT(IN) ::
- & Nt,Np,all_modes,do_momentum,do_spin
+ & Nt,Np,all_modes,do_momentum,do_spin,interpolation_order
INTEGER,INTENT(IN) ::
& do_ADMmass(2)
CCTK_REAL,INTENT(IN) ::
@@ -162,7 +162,7 @@ c
c ------------------------------------------------------------------
CALL D3_to_D2(cctkGH,do_ADMmass,do_momentum,do_spin,
- & Psi_power,origin,myproc,Dx,Dy,Dz,Psi,
+ & Psi_power,origin,myproc,interpolation_order,Dx,Dy,Dz,Psi,
& g00,gxx,gxy,gxz,gyy,gyz,gzz,hxx,hxy,hxz,hyy,hyz,hzz,
& x,y,z,eta,Nt,Np,theta,phi,Psis,g00s,gxxs,gxys,gxzs,
& gyys,gyzs,gzzs,dPsis,dgxxs,dgxys,dgxzs,dgyys,dgyzs,dgzzs,
diff --git a/src/D3_extract_int.F b/src/D3_extract_int.F
index 3bb617a..357f995 100644
--- a/src/D3_extract_int.F
+++ b/src/D3_extract_int.F
@@ -8,7 +8,7 @@ c ------------------------------------------------------------------
INTERFACE
SUBROUTINE D3_extract(cctkGH,do_ADMmass,do_momentum,do_spin,igrid,
- & origin,myproc,
+ & origin,myproc,interpolation_order,
& Nt,Np,all_modes,l,m,x,y,z,Dx,Dy,Dz,Psi_power,Psi,
& g00,gxx,gxy,gxz,gyy,gyz,gzz,hxx,hxy,hxz,hyy,hyz,hzz,
& eta,ADMmass,momentum,spin,mass,rsch,Qodd,Qeven,
@@ -21,7 +21,7 @@ c ------------------------------------------------------------------
INTEGER,INTENT(IN) ::
& igrid,l,m,Psi_power,myproc
CCTK_INT,INTENT(IN) ::
- & Nt,Np,all_modes,do_momentum,do_spin
+ & Nt,Np,all_modes,do_momentum,do_spin,interpolation_order
INTEGER,INTENT(IN) ::
& do_ADMmass(2)
CCTK_REAL,INTENT(IN) ::
diff --git a/src/D3_to_D2.F b/src/D3_to_D2.F
index 7d49d0a..ceb7217 100644
--- a/src/D3_to_D2.F
+++ b/src/D3_to_D2.F
@@ -4,7 +4,7 @@
c ========================================================================
SUBROUTINE D3_to_D2(cctkGH,do_ADMmass,do_momentum,do_spin,
- & Psi_power,origin,myproc,Dx,Dy,Dz,Psi,
+ & Psi_power,origin,myproc,interpolation_order,Dx,Dy,Dz,Psi,
& g00,gxx,gxy,gxz,gyy,gyz,gzz,hxx,hxy,hxz,hyy,hyz,hzz,
& x,y,z,eta,Nt,Np,theta,phi,
& Psis,g00s,gxxs,gxys,gxzs,gyys,gyzs,gzzs,dPsis,dgxxs,dgxys,dgxzs,
@@ -33,7 +33,7 @@ c Input variables
INTEGER,INTENT(IN) ::
& myproc,Psi_power
CCTK_INT, INTENT(IN) ::
- & Nt,Np,do_momentum,do_spin
+ & Nt,Np,do_momentum,do_spin,interpolation_order
CCTK_REAL,INTENT(IN) ::
& origin(3),Dx,Dy,Dz,eta
CCTK_REAL,INTENT(IN),DIMENSION(:) ::
@@ -70,9 +70,9 @@ c Local variables, passed on
c Local variables, here only
INTEGER ::
- & i,j,handle,ierror
- CCTK_REAL ::
- & xmin,xmax,ymin,ymax,zmin,zmax
+ & i,j,interp_handle,coord_system_handle,ierror
+ INTEGER, DIMENSION(8) :: in_array_indices
+
c ------------------------------------------------------------------------
@@ -109,138 +109,134 @@ c --------------------------------------
END SELECT
-c Choose the interpolator
-c -----------------------
- call CCTK_InterpHandle (handle, "simple")
+c Get the interpolator and coordinate system handle
+c -------------------------------------------------
+ interp_handle = -1
+ coord_system_handle = -1
+
+ if (interpolation_order .eq. 1) then
+ call CCTK_InterpHandle (interp_handle, "first-order uniform cartesian")
+ else if (interpolation_order .eq. 2) then
+ call CCTK_InterpHandle (interp_handle, "second-order uniform cartesian")
+ else if (interpolation_order .eq. 3) then
+ call CCTK_InterpHandle (interp_handle, "third-order uniform cartesian")
+ endif
+
+ call CCTK_CoordSystemHandle (coord_system_handle, "cart3d")
+ if (interp_handle .lt. 0 .or. coord_system_handle .lt. 0) then
+ call CCTK_WARN (0, "Couldn't get handles for interpolation operator and/or coordinate system")
+ endif
-c Find the local origin of the spatial coordinates
-c ------------------------------------------------
- call CCTK_CoordLocalRange(ierror,cctkGH,xmin,xmax,-1,"x","cart3d")
- call CCTK_CoordLocalRange(ierror,cctkGH,ymin,ymax,-1,"y","cart3d")
- call CCTK_CoordLocalRange(ierror,cctkGH,zmin,zmax,-1,"z","cart3d")
+c Get indices of GFs to interpolate
+c ---------------------------------
+ call CCTK_VarIndex(in_array_indices(1), "einstein::psi")
+ call CCTK_VarIndex(in_array_indices(2), "extract::g00")
+ call CCTK_VarIndex(in_array_indices(3), "einstein::gxx")
+ call CCTK_VarIndex(in_array_indices(4), "einstein::gxy")
+ call CCTK_VarIndex(in_array_indices(5), "einstein::gxz")
+ call CCTK_VarIndex(in_array_indices(6), "einstein::gyy")
+ call CCTK_VarIndex(in_array_indices(7), "einstein::gyz")
+ call CCTK_VarIndex(in_array_indices(8), "einstein::gzz")
c Project un-physical metric and conformal factor onto sphere
c ------------------------------------------------------------
- call CCTK_Interp (ierror, cctkGH, handle, npoints, 3, 8, 8,
- $ nx, ny, nz,
- $ xs, ys, zs,
- $ CCTK_VARIABLE_REAL, CCTK_VARIABLE_REAL,
- $ CCTK_VARIABLE_REAL,
- $ xmin, ymin, zmin,
- $ dx, dy, dz,
- $ Psi,g00,gxx,gxy,gxz,gyy,gyz,gzz,
- $ CCTK_VARIABLE_REAL,CCTK_VARIABLE_REAL,CCTK_VARIABLE_REAL,
- $ CCTK_VARIABLE_REAL,CCTK_VARIABLE_REAL,CCTK_VARIABLE_REAL,
- $ CCTK_VARIABLE_REAL,CCTK_VARIABLE_REAL,
- $ Psis,g00s,gxxs,gxys,gxzs,gyys,gyzs,gzzs,
- $ CCTK_VARIABLE_REAL,CCTK_VARIABLE_REAL,CCTK_VARIABLE_REAL,
- $ CCTK_VARIABLE_REAL,CCTK_VARIABLE_REAL,CCTK_VARIABLE_REAL,
- $ CCTK_VARIABLE_REAL,CCTK_VARIABLE_REAL
- $ )
+ call CCTK_InterpGV (ierror, cctkGH, interp_handle, coord_system_handle,
+ $ npoints, 8, 8,
+ $ xs, ys, zs,
+ $ CCTK_VARIABLE_REAL, CCTK_VARIABLE_REAL,
+ $ CCTK_VARIABLE_REAL,
+ $ in_array_indices(1), in_array_indices(2),
+ $ in_array_indices(3), in_array_indices(4),
+ $ in_array_indices(5), in_array_indices(6),
+ $ in_array_indices(7), in_array_indices(8),
+ $ Psis, g00s, gxxs, gxys, gxzs, gyys, gyzs, gzzs,
+ $ CCTK_VARIABLE_REAL, CCTK_VARIABLE_REAL,
+ $ CCTK_VARIABLE_REAL, CCTK_VARIABLE_REAL,
+ $ CCTK_VARIABLE_REAL, CCTK_VARIABLE_REAL,
+ $ CCTK_VARIABLE_REAL, CCTK_VARIABLE_REAL)
c Calculate radial derivatives and project onto sphere
c ----------------------------------------------------
CALL met_rad_der(origin,Dx,Dy,Dz,x,y,z,Psi,Extract_temp3d)
CALL CCTK_SyncGroup(cctkGH,"extract::temps")
- call CCTK_Interp (ierror, cctkGH, handle, npoints, 3, 1, 1,
- $ nx, ny, nz,
- $ xs, ys, zs,
- $ CCTK_VARIABLE_REAL,CCTK_VARIABLE_REAL,CCTK_VARIABLE_REAL,
- $ xmin, ymin, zmin,
- $ dx, dy, dz,
- $ Extract_temp3d,
- $ CCTK_VARIABLE_REAL,
- $ dPsis,
- $ CCTK_VARIABLE_REAL
- $ )
+ call CCTK_VarIndex(in_array_indices(1), "extract::temp3d")
+ call CCTK_InterpGV (ierror, cctkGH, interp_handle, coord_system_handle,
+ $ npoints, 1, 1,
+ $ xs, ys, zs,
+ $ CCTK_VARIABLE_REAL, CCTK_VARIABLE_REAL,
+ $ CCTK_VARIABLE_REAL,
+ $ in_array_indices(1),
+ $ dPsis,
+ $ CCTK_VARIABLE_REAL)
CALL met_rad_der(origin,Dx,Dy,Dz,x,y,z,gxx,Extract_temp3d)
CALL CCTK_SyncGroup(cctkGH,"extract::temps")
- call CCTK_Interp (ierror, cctkGH, handle, npoints, 3, 1, 1,
- $ nx, ny, nz,
- $ xs, ys, zs,
- $ CCTK_VARIABLE_REAL,CCTK_VARIABLE_REAL,CCTK_VARIABLE_REAL,
- $ xmin, ymin, zmin,
- $ dx, dy, dz,
- $ Extract_temp3d,
- $ CCTK_VARIABLE_REAL,
- $ dgxxs,
- $ CCTK_VARIABLE_REAL
- $ )
+ call CCTK_InterpGV (ierror, cctkGH, interp_handle, coord_system_handle,
+ $ npoints, 1, 1,
+ $ xs, ys, zs,
+ $ CCTK_VARIABLE_REAL, CCTK_VARIABLE_REAL,
+ $ CCTK_VARIABLE_REAL,
+ $ in_array_indices(1),
+ $ dgxxs,
+ $ CCTK_VARIABLE_REAL)
CALL met_rad_der(origin,Dx,Dy,Dz,x,y,z,gxy,Extract_temp3d)
CALL CCTK_SyncGroup(cctkGH,"extract::temps")
- call CCTK_Interp (ierror, cctkGH, handle, npoints, 3, 1, 1,
- $ nx, ny, nz,
- $ xs, ys, zs,
- $ CCTK_VARIABLE_REAL,CCTK_VARIABLE_REAL,CCTK_VARIABLE_REAL,
- $ xmin, ymin, zmin,
- $ dx, dy, dz,
- $ Extract_temp3d,
- $ CCTK_VARIABLE_REAL,
- $ dgxys,
- $ CCTK_VARIABLE_REAL
- $ )
+ call CCTK_InterpGV (ierror, cctkGH, interp_handle, coord_system_handle,
+ $ npoints, 1, 1,
+ $ xs, ys, zs,
+ $ CCTK_VARIABLE_REAL, CCTK_VARIABLE_REAL,
+ $ CCTK_VARIABLE_REAL,
+ $ in_array_indices(1),
+ $ dgxys,
+ $ CCTK_VARIABLE_REAL)
CALL met_rad_der(origin,Dx,Dy,Dz,x,y,z,gxz,Extract_temp3d)
CALL CCTK_SyncGroup(cctkGH,"extract::temps")
- call CCTK_Interp (ierror, cctkGH, handle, npoints, 3, 1, 1,
- $ nx, ny, nz,
- $ xs, ys, zs,
- $ CCTK_VARIABLE_REAL,CCTK_VARIABLE_REAL,CCTK_VARIABLE_REAL,
- $ xmin, ymin, zmin,
- $ dx, dy, dz,
- $ Extract_temp3d,
- $ CCTK_VARIABLE_REAL,
- $ dgxzs,
- $ CCTK_VARIABLE_REAL
- $ )
+ call CCTK_InterpGV (ierror, cctkGH, interp_handle, coord_system_handle,
+ $ npoints, 1, 1,
+ $ xs, ys, zs,
+ $ CCTK_VARIABLE_REAL, CCTK_VARIABLE_REAL,
+ $ CCTK_VARIABLE_REAL,
+ $ in_array_indices(1),
+ $ dgxzs,
+ $ CCTK_VARIABLE_REAL)
CALL met_rad_der(origin,Dx,Dy,Dz,x,y,z,gyy,Extract_temp3d)
CALL CCTK_SyncGroup(cctkGH,"extract::temps")
- call CCTK_Interp (ierror, cctkGH, handle, npoints, 3, 1, 1,
- $ nx, ny, nz,
- $ xs, ys, zs,
- $ CCTK_VARIABLE_REAL,CCTK_VARIABLE_REAL,CCTK_VARIABLE_REAL,
- $ xmin, ymin, zmin,
- $ dx, dy, dz,
- $ Extract_temp3d,
- $ CCTK_VARIABLE_REAL,
- $ dgyys,
- $ CCTK_VARIABLE_REAL
- $ )
+ call CCTK_InterpGV (ierror, cctkGH, interp_handle, coord_system_handle,
+ $ npoints, 1, 1,
+ $ xs, ys, zs,
+ $ CCTK_VARIABLE_REAL, CCTK_VARIABLE_REAL,
+ $ CCTK_VARIABLE_REAL,
+ $ in_array_indices(1),
+ $ dgyys,
+ $ CCTK_VARIABLE_REAL)
CALL met_rad_der(origin,Dx,Dy,Dz,x,y,z,gyz,Extract_temp3d)
CALL CCTK_SyncGroup(cctkGH,"extract::temps")
- call CCTK_Interp (ierror, cctkGH, handle, npoints, 3, 1, 1,
- $ nx, ny, nz,
- $ xs, ys, zs,
- $ CCTK_VARIABLE_REAL,CCTK_VARIABLE_REAL,CCTK_VARIABLE_REAL,
- $ xmin, ymin, zmin,
- $ dx, dy, dz,
- $ Extract_temp3d,
- $ CCTK_VARIABLE_REAL,
- $ dgyzs,
- $ CCTK_VARIABLE_REAL
- $ )
-
+ call CCTK_InterpGV (ierror, cctkGH, interp_handle, coord_system_handle,
+ $ npoints, 1, 1,
+ $ xs, ys, zs,
+ $ CCTK_VARIABLE_REAL, CCTK_VARIABLE_REAL,
+ $ CCTK_VARIABLE_REAL,
+ $ in_array_indices(1),
+ $ dgyzs,
+ $ CCTK_VARIABLE_REAL)
CALL met_rad_der(origin,Dx,Dy,Dz,x,y,z,gzz,Extract_temp3d)
CALL CCTK_SyncGroup(cctkGH,"extract::temps")
- call CCTK_Interp (ierror, cctkGH, handle, npoints, 3, 1, 1,
- $ nx, ny, nz,
- $ xs, ys, zs,
- $ CCTK_VARIABLE_REAL,CCTK_VARIABLE_REAL,CCTK_VARIABLE_REAL,
- $ xmin, ymin, zmin,
- $ dx, dy, dz,
- $ Extract_temp3d,
- $ CCTK_VARIABLE_REAL,
- $ dgzzs,
- $ CCTK_VARIABLE_REAL
- $ )
+ call CCTK_InterpGV (ierror, cctkGH, interp_handle, coord_system_handle,
+ $ npoints, 1, 1,
+ $ xs, ys, zs,
+ $ CCTK_VARIABLE_REAL, CCTK_VARIABLE_REAL,
+ $ CCTK_VARIABLE_REAL,
+ $ in_array_indices(1),
+ $ dgzzs,
+ $ CCTK_VARIABLE_REAL)
c Calculate integrands for ADM masses
@@ -250,17 +246,14 @@ c Standard equation
CALL ADMmass_integrand3D(origin,Dx,Dy,Dz,x,y,z,gxx,gxy,
& gxz,gyy,gyz,gzz,Extract_temp3d,Psi,Psi_power)
CALL CCTK_SyncGroup(cctkGH,"extract::temps")
- call CCTK_Interp (ierror, cctkGH, handle, npoints, 3, 1, 1,
- $ nx, ny, nz,
- $ xs, ys, zs,
- $ CCTK_VARIABLE_REAL,CCTK_VARIABLE_REAL,CCTK_VARIABLE_REAL,
- $ xmin, ymin, zmin,
- $ dx, dy, dz,
- $ Extract_temp3d,
- $ CCTK_VARIABLE_REAL,
- $ ADMmass_int1,
- $ CCTK_VARIABLE_REAL
- $ )
+ call CCTK_InterpGV (ierror, cctkGH, interp_handle, coord_system_handle,
+ $ npoints, 1, 1,
+ $ xs, ys, zs,
+ $ CCTK_VARIABLE_REAL, CCTK_VARIABLE_REAL,
+ $ CCTK_VARIABLE_REAL,
+ $ in_array_indices(1),
+ $ ADMmass_int1,
+ $ CCTK_VARIABLE_REAL)
END IF
@@ -277,50 +270,41 @@ c ---------------------------------
& gxx,gxy,gxz,gyy,gyz,gzz,hxx,hxy,hxz,hyy,hyz,hzz,
& Extract_temp3d,Psi,Psi_power)
CALL CCTK_SyncGroup(cctkGH,"extract::temps")
- call CCTK_Interp (ierror, cctkGH, handle, npoints, 3, 1, 1,
- $ nx, ny, nz,
- $ xs, ys, zs,
- $ CCTK_VARIABLE_REAL,CCTK_VARIABLE_REAL,CCTK_VARIABLE_REAL,
- $ xmin, ymin, zmin,
- $ dx, dy, dz,
- $ Extract_temp3d,
- $ CCTK_VARIABLE_REAL,
- $ momentum_int1,
- $ CCTK_VARIABLE_REAL
- $ )
+ call CCTK_InterpGV (ierror, cctkGH, interp_handle, coord_system_handle,
+ $ npoints, 1, 1,
+ $ xs, ys, zs,
+ $ CCTK_VARIABLE_REAL, CCTK_VARIABLE_REAL,
+ $ CCTK_VARIABLE_REAL,
+ $ in_array_indices(1),
+ $ momentum_int1,
+ $ CCTK_VARIABLE_REAL)
CALL momentum_integrand3D(origin,Dx,Dy,Dz,x,y,z,
& gxx,gxy,gxz,gyy,gyz,gzz,hxx,hxy,hxz,hyy,hyz,hzz,
& Extract_temp3d,Psi,Psi_power)
CALL CCTK_SyncGroup(cctkGH,"extract::temps")
- call CCTK_Interp (ierror, cctkGH, handle, npoints, 3, 1, 1,
- $ nx, ny, nz,
- $ xs, ys, zs,
- $ CCTK_VARIABLE_REAL,CCTK_VARIABLE_REAL,CCTK_VARIABLE_REAL,
- $ xmin, ymin, zmin,
- $ dx, dy, dz,
- $ Extract_temp3d,
- $ CCTK_VARIABLE_REAL,
- $ momentum_int2,
- $ CCTK_VARIABLE_REAL
- $ )
+ call CCTK_InterpGV (ierror, cctkGH, interp_handle, coord_system_handle,
+ $ npoints, 1, 1,
+ $ xs, ys, zs,
+ $ CCTK_VARIABLE_REAL, CCTK_VARIABLE_REAL,
+ $ CCTK_VARIABLE_REAL,
+ $ in_array_indices(1),
+ $ momentum_int2,
+ $ CCTK_VARIABLE_REAL)
CALL momentum_integrand3D(origin,Dx,Dy,Dz,x,y,z,
& gxx,gxy,gxz,gyy,gyz,gzz,hxx,hxy,hxz,hyy,hyz,hzz,
& Extract_temp3d,Psi,Psi_power)
CALL CCTK_SyncGroup(cctkGH,"extract::temps")
- call CCTK_Interp (ierror, cctkGH, handle, npoints, 3, 1, 1,
- $ nx, ny, nz,
- $ xs, ys, zs,
- $ CCTK_VARIABLE_REAL,CCTK_VARIABLE_REAL,CCTK_VARIABLE_REAL,
- $ xmin, ymin, zmin,
- $ dx, dy, dz,
- $ Extract_temp3d,
- $ CCTK_VARIABLE_REAL,
- $ momentum_int3,
- $ CCTK_VARIABLE_REAL
- $ )
+ call CCTK_InterpGV (ierror, cctkGH, interp_handle, coord_system_handle,
+ $ npoints, 1, 1,
+ $ xs, ys, zs,
+ $ CCTK_VARIABLE_REAL, CCTK_VARIABLE_REAL,
+ $ CCTK_VARIABLE_REAL,
+ $ in_array_indices(1),
+ $ momentum_int3,
+ $ CCTK_VARIABLE_REAL)
END IF
@@ -332,68 +316,42 @@ c -----------------------------
& gxx,gxy,gxz,gyy,gyz,gzz,hxx,hxy,hxz,hyy,hyz,hzz,
& Extract_temp3d,Psi,Psi_power)
CALL CCTK_SyncGroup(cctkGH,"extract::temps")
- call CCTK_Interp (ierror, cctkGH, handle, npoints, 3, 1, 1,
- $ nx, ny, nz,
- $ xs, ys, zs,
- $ CCTK_VARIABLE_REAL,CCTK_VARIABLE_REAL,CCTK_VARIABLE_REAL,
- $ xmin, ymin, zmin,
- $ dx, dy, dz,
- $ Extract_temp3d,
- $ CCTK_VARIABLE_REAL,
- $ spin_int1,
- $ CCTK_VARIABLE_REAL
- $ )
+ call CCTK_InterpGV (ierror, cctkGH, interp_handle, coord_system_handle,
+ $ npoints, 1, 1,
+ $ xs, ys, zs,
+ $ CCTK_VARIABLE_REAL, CCTK_VARIABLE_REAL,
+ $ CCTK_VARIABLE_REAL,
+ $ in_array_indices(1),
+ $ spin_int1,
+ $ CCTK_VARIABLE_REAL)
CALL spin_integrand3D(origin,x,y,z,
& gxx,gxy,gxz,gyy,gyz,gzz,hxx,hxy,hxz,hyy,hyz,hzz,
& Extract_temp3d,Psi,Psi_power)
CALL CCTK_SyncGroup(cctkGH,"extract::temps")
- call CCTK_Interp (ierror, cctkGH, handle, npoints, 3, 1, 1,
- $ nx, ny, nz,
- $ xs, ys, zs,
- $ CCTK_VARIABLE_REAL,CCTK_VARIABLE_REAL,CCTK_VARIABLE_REAL,
- $ xmin, ymin, zmin,
- $ dx, dy, dz,
- $ Extract_temp3d,
- $ CCTK_VARIABLE_REAL,
- $ spin_int2,
- $ CCTK_VARIABLE_REAL
- $ )
+ call CCTK_InterpGV (ierror, cctkGH, interp_handle, coord_system_handle,
+ $ npoints, 1, 1,
+ $ xs, ys, zs,
+ $ CCTK_VARIABLE_REAL, CCTK_VARIABLE_REAL,
+ $ CCTK_VARIABLE_REAL,
+ $ in_array_indices(1),
+ $ spin_int2,
+ $ CCTK_VARIABLE_REAL)
CALL spin_integrand3D(origin,x,y,z,
& gxx,gxy,gxz,gyy,gyz,gzz,hxx,hxy,hxz,hyy,hyz,hzz,
& Extract_temp3d,Psi,Psi_power)
CALL CCTK_SyncGroup(cctkGH,"extract::temps")
- call CCTK_Interp (ierror, cctkGH, handle, npoints, 3, 1, 1,
- $ nx, ny, nz,
- $ xs, ys, zs,
- $ CCTK_VARIABLE_REAL,CCTK_VARIABLE_REAL,CCTK_VARIABLE_REAL,
- $ xmin, ymin, zmin,
- $ dx, dy, dz,
- $ Extract_temp3d,
- $ CCTK_VARIABLE_REAL,
- $ spin_int3,
- $ CCTK_VARIABLE_REAL
- $ )
+ call CCTK_InterpGV (ierror, cctkGH, interp_handle, coord_system_handle,
+ $ npoints, 1, 1,
+ $ xs, ys, zs,
+ $ CCTK_VARIABLE_REAL, CCTK_VARIABLE_REAL,
+ $ CCTK_VARIABLE_REAL,
+ $ in_array_indices(1),
+ $ spin_int3,
+ $ CCTK_VARIABLE_REAL)
END IF
END SUBROUTINE D3_to_D2
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/src/D3_to_D2_int.F b/src/D3_to_D2_int.F
index 297e22e..8f19412 100644
--- a/src/D3_to_D2_int.F
+++ b/src/D3_to_D2_int.F
@@ -8,7 +8,7 @@ c ------------------------------------------------------------------
INTERFACE
SUBROUTINE D3_to_D2(cctkGH,do_ADMmass,do_momentum,do_spin,
- & Psi_power,origin,myproc,Dx,Dy,Dz,Psi,
+ & Psi_power,origin,myproc,interpolation_order,Dx,Dy,Dz,Psi,
& g00,gxx,gxy,gxz,gyy,gyz,gzz,hxx,hxy,hxz,hyy,hyz,hzz,
& x,y,z,eta,Nt,Np,theta,phi,Psis,g00s,gxxs,gxys,
& gxzs,gyys,gyzs,gzzs,dPsis,dgxxs,dgxys,dgxzs,dgyys,dgyzs,
@@ -21,7 +21,7 @@ c ------------------------------------------------------------------
INTEGER,INTENT(IN) ::
& myproc,Psi_power
CCTK_INT, INTENT(IN) ::
- & Nt,Np,do_momentum,do_spin
+ & Nt,Np,do_momentum,do_spin,interpolation_order
INTEGER ::
& do_ADMmass(2)
CCTK_REAL,INTENT(IN) ::
diff --git a/src/Extract.F b/src/Extract.F
index d760596..49d0ba9 100644
--- a/src/Extract.F
+++ b/src/Extract.F
@@ -378,7 +378,7 @@ c Do extraction at each radius
extract_at_each_radius: DO WHILE (radius < r2)
CALL D3_extract(cctkGH,do_ADMmass,do_momentum,do_spin,
- & igrid,orig,myproc,Nt,Np,all_modes,lmode,
+ & igrid,orig,myproc,interpolation_order,Nt,Np,all_modes,lmode,
& mmode,x_1d,y_1d,z_1d,Dx,Dy,Dz,Psi_power,Psi,g00,
& gxx,gxy,gxz,gyy,gyz,gzz,kxx,kxy,kxz,kyy,kyz,kzz,
& radius,ADMmass,momentum,spin,mass,rsch,
@@ -549,7 +549,8 @@ c Cannot use the conformal equation for ADM mass now
END IF
CALL D3_extract(cctkGH,do_ADMmass,do_momentum,do_spin,
- & igrid,orig,myproc,Nt,Np,all_modes,lmode,mmode,x_1d,y_1d,z_1d,
+ & igrid,orig,myproc,interpolation_order,Nt,Np,all_modes,
+ & lmode,mmode,x_1d,y_1d,z_1d,
& Dx,Dy,Dz,Psi_power,Psi,g00,gxx,gxy,gxz,gyy,gyz,gzz,kxx,kxy,kxz,
& kyy,kyz,kzz,radius,ADMmass,momentum,spin,mass,rsch,
& Qodd,Qeven,temp3d,dtaudt)