aboutsummaryrefslogtreecommitdiff
path: root/src/puncture_tracker.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/puncture_tracker.c')
-rw-r--r--src/puncture_tracker.c30
1 files changed, 22 insertions, 8 deletions
diff --git a/src/puncture_tracker.c b/src/puncture_tracker.c
index 6f2773c..4e36c1f 100644
--- a/src/puncture_tracker.c
+++ b/src/puncture_tracker.c
@@ -105,6 +105,7 @@ PunctureTracker_Track (CCTK_ARGUMENTS)
}
// Interpolation parameter table
+ int const order = 4;
int const param_table_handle = Util_TableCreateFromString ("order=4");
if (param_table_handle < 0) {
CCTK_WARN (CCTK_WARN_ALERT, "Can't create parameter table");
@@ -159,14 +160,27 @@ PunctureTracker_Track (CCTK_ARGUMENTS)
output_arrays[2] = pt_betaz;
// Interpolate
- int const ierr = CCTK_InterpGridArrays
- (cctkGH, dim,
- operator_handle, param_table_handle, coordsys_handle,
- num_points,
- CCTK_VARIABLE_REAL,
- interp_coords,
- num_vars, input_array_indices,
- num_vars, output_array_type_codes, output_arrays);
+ int ierr;
+ if (CCTK_IsFunctionAliased ("InterpGridArrays")) {
+ // TODO: use correct array types
+ // (CCTK_POINTER[] vs. CCTK_REAL[])
+ ierr = InterpGridArrays
+ (cctkGH, dim,
+ order,
+ num_points,
+ interp_coords,
+ num_vars, input_array_indices,
+ num_vars, output_arrays);
+ } else {
+ ierr = CCTK_InterpGridArrays
+ (cctkGH, dim,
+ operator_handle, param_table_handle, coordsys_handle,
+ num_points,
+ CCTK_VARIABLE_REAL,
+ interp_coords,
+ num_vars, input_array_indices,
+ num_vars, output_array_type_codes, output_arrays);
+ }
if (ierr < 0) {
CCTK_WARN (CCTK_WARN_ALERT, "Interpolation error");
goto label_free_param_table;