aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authortradke <tradke@0a4070d5-58f5-498f-b6c0-2693e757fa0f>2001-02-15 14:46:50 +0000
committertradke <tradke@0a4070d5-58f5-498f-b6c0-2693e757fa0f>2001-02-15 14:46:50 +0000
commitb4a45c67f0c7f6af2eb0d92c488ecf3cb7c95595 (patch)
tree334e3cc2d079b788f756b7ffe863b27ac28346af
parent0d27d07486a1ee91bcb27afb1cbc7ebe9049d11c (diff)
Use the new interpolation flesh API routines and call the new interpolation
operators from PUGHInterp (according to the setting of the IDAxiBrillBH::interpolation_order parameter). git-svn-id: http://svn.einsteintoolkit.org/cactus/EinsteinInitialData/IDAxiBrillBH/trunk@27 0a4070d5-58f5-498f-b6c0-2693e757fa0f
-rw-r--r--src/IDAxiBrillBH.F44
1 files changed, 31 insertions, 13 deletions
diff --git a/src/IDAxiBrillBH.F b/src/IDAxiBrillBH.F
index 5535734..11d3500 100644
--- a/src/IDAxiBrillBH.F
+++ b/src/IDAxiBrillBH.F
@@ -252,21 +252,39 @@ c phi(i,j,k)= datan2(y(i,j,k),x(i,j,k))
enddo
enddo
- call CCTK_InterpHandle (handle, "simple_local")
-
npoints = nx*ny*nz
- call CCTK_Interp (ierror,cctkGH,handle,npoints,2,6,6,
- $ neb,nqb,abseta,q,
- $ CCTK_VARIABLE_REAL,CCTK_VARIABLE_REAL,
- $ etagrd(1),qgrd(1),deta,dq,
- $ psi2d,detapsi2d,dqpsi2d,detaetapsi2d,detaqpsi2d,dqqpsi2d,
- $ CCTK_VARIABLE_REAL,CCTK_VARIABLE_REAL,CCTK_VARIABLE_REAL,
- $ CCTK_VARIABLE_REAL,CCTK_VARIABLE_REAL,CCTK_VARIABLE_REAL,
- $ psi2dv,detapsi2dv,dqpsi2dv,detaetapsi2dv,detaqpsi2dv,
- $ dqqpsi2dv,
- $ CCTK_VARIABLE_REAL,CCTK_VARIABLE_REAL,CCTK_VARIABLE_REAL,
- $ CCTK_VARIABLE_REAL,CCTK_VARIABLE_REAL,CCTK_VARIABLE_REAL)
+! Interpolator handle.
+
+ handle = -1
+
+ if (interpolation_order .eq. 1) then
+ call CCTK_InterpHandle (handle, "first-order uniform cartesian")
+ else if (interpolation_order .eq. 2) then
+ call CCTK_InterpHandle (handle, "second-order uniform cartesian")
+ else if (interpolation_order .eq. 3) then
+ call CCTK_InterpHandle (handle, "third-order uniform cartesian")
+ endif
+
+ if (handle .lt. 0) then
+ call CCTK_WARN (0, "Couldn't get handle for interpolation operator")
+ endif
+
+ call CCTK_InterpLocal (ierror, cctkGH, handle, npoints, 2, 6, 6,
+ $ neb, nqb, etagrd, qgrd,
+ $ CCTK_VARIABLE_REAL, CCTK_VARIABLE_REAL,
+ $ abseta, q,
+ $ CCTK_VARIABLE_REAL,CCTK_VARIABLE_REAL,
+ $ psi2d, detapsi2d, dqpsi2d, detaetapsi2d,
+ $ detaqpsi2d, dqqpsi2d,
+ $ CCTK_VARIABLE_REAL,CCTK_VARIABLE_REAL,
+ $ CCTK_VARIABLE_REAL,CCTK_VARIABLE_REAL,
+ $ CCTK_VARIABLE_REAL,CCTK_VARIABLE_REAL,
+ $ psi2dv, detapsi2dv, dqpsi2dv, detaetapsi2dv,
+ $ detaqpsi2dv, dqqpsi2dv,
+ $ CCTK_VARIABLE_REAL,CCTK_VARIABLE_REAL,
+ $ CCTK_VARIABLE_REAL,CCTK_VARIABLE_REAL,
+ $ CCTK_VARIABLE_REAL,CCTK_VARIABLE_REAL)
psi = psi2dv * exp (-0.5 * eta)
detapsi2dv = sign_eta * detapsi2dv