summaryrefslogtreecommitdiff
path: root/src/maximal_slicing_axi.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/maximal_slicing_axi.c')
-rw-r--r--src/maximal_slicing_axi.c31
1 files changed, 30 insertions, 1 deletions
diff --git a/src/maximal_slicing_axi.c b/src/maximal_slicing_axi.c
index 83b646c..f1758cb 100644
--- a/src/maximal_slicing_axi.c
+++ b/src/maximal_slicing_axi.c
@@ -20,9 +20,38 @@
#include "cctk_Timers.h"
#include "util_Table.h"
-#include "maximal_slicing_axi.h"
#include "ms_solve.h"
+/* precomputed values for a given refined grid */
+typedef struct CoordPatch {
+ CCTK_REAL origin[3];
+ CCTK_INT delta[3];
+ CCTK_INT size[3];
+
+ // basis values on the grid
+ double *basis_val_r;
+ double *basis_val_z;
+
+ double *transform_z;
+ double *transform_matrix;
+ double *transform_matrix1;
+ double *transform_tmp;
+ double *one;
+
+ int y_idx;
+} CoordPatch;
+
+typedef struct MaximalSlicingContext {
+ MSSolver *solver;
+ cGH *gh;
+
+ uint64_t grid_expand_count;
+ uint64_t grid_expand_time;
+
+ CoordPatch *patches;
+ int nb_patches;
+} MaximalSlicingContext;
+
double scale_factor;
/* get an approximate "main" frequency component in a basis function */