From 2472cd18a1485fe42ac6cfd4cd82fb3114248f00 Mon Sep 17 00:00:00 2001 From: Anton Khirnov Date: Sat, 7 Apr 2018 10:01:34 +0200 Subject: Make the location of the outermost point configurable. --- param.ccl | 5 +++++ src/qms.c | 2 +- src/qms_solve.c | 4 ++-- src/qms_solve.h | 2 +- 4 files changed, 9 insertions(+), 4 deletions(-) diff --git a/param.ccl b/param.ccl index 63dc31c..49169aa 100644 --- a/param.ccl +++ b/param.ccl @@ -26,6 +26,11 @@ CCTK_REAL scale_power "" STEERABLE=recover 0: :: "" } 64.0 +CCTK_REAL outer_bound "" STEERABLE=recover +{ + 0: :: "" +} 64.0 + CCTK_REAL switchoff_time "" STEERABLE=recover { 0: :: "" diff --git a/src/qms.c b/src/qms.c index 1e61271..90e1f76 100644 --- a/src/qms.c +++ b/src/qms.c @@ -232,7 +232,7 @@ static int context_init(cGH *cctkGH) qms->max_radius = 60.0; ret = qms_solver_init(&qms->solver, cctkGH, basis_order_r, basis_order_z, - scale_factor, filter_power, 0.0); + outer_bound, filter_power, 0.0); if (ret < 0) return ret; diff --git a/src/qms_solve.c b/src/qms_solve.c index 0d74300..f1e6ee8 100644 --- a/src/qms_solve.c +++ b/src/qms_solve.c @@ -1093,7 +1093,7 @@ fail: int qms_solver_init(QMSSolver **pctx, cGH *cctkGH, int basis_order_r, int basis_order_z, - double sf, double filter_power, double input_filter_power) + double outer_bound, double filter_power, double input_filter_power) { QMSSolver *ctx; QMSSolverPriv *s; @@ -1136,7 +1136,7 @@ int qms_solver_init(QMSSolver **pctx, //FIXME scale_factor = 1.0; - scale_factor = (64.0 / ctx->basis[0]->colloc_point(s->colloc_grid_order[0], ctx->nb_colloc_points[0] - 1)); + scale_factor = (outer_bound / ctx->basis[0]->colloc_point(s->colloc_grid_order[0], ctx->nb_colloc_points[0] - 1)); fprintf(stderr, "scale factor %16.16g\n", scale_factor); init_opencl(ctx); diff --git a/src/qms_solve.h b/src/qms_solve.h index 18b2628..3e9ca49 100644 --- a/src/qms_solve.h +++ b/src/qms_solve.h @@ -41,7 +41,7 @@ typedef struct QMSSolver { int qms_solver_init(QMSSolver **ctx, cGH *cctkGH, int basis_order_r, int basis_order_z, - double sf, double filter_power, double input_filter_power); + double outer_bound, double filter_power, double input_filter_power); void qms_solver_free(QMSSolver **ctx); -- cgit v1.2.3