diff options
Diffstat (limited to 'src/maximal_slicing_axi.c')
-rw-r--r-- | src/maximal_slicing_axi.c | 31 |
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 */ |