diff options
author | Anton Khirnov <anton@khirnov.net> | 2020-01-30 13:36:41 +0100 |
---|---|---|
committer | Anton Khirnov <anton@khirnov.net> | 2020-01-30 13:42:15 +0100 |
commit | e2745670894cac8ca73c6bee5c1b4cc2c8c94a3e (patch) | |
tree | ccffb5b4f4bb192e28b6865616b4662e1e550262 /td_constraints.c | |
parent | 80b9f98f2316b1d36f6409861cab6bcdddf23174 (diff) |
teukolsky_data: change TD_FAMILY_AE_TIME_ANTISYM
This is obviously not the data that A&E were using in their paper
(though the reason is unknown, as the free functions should be the
same), so stop referring to it as such. Also drop the constant
multiplier of 60 * \sqrt{2/pi}, since it has no other purpose than being
consistent with their data.
Name the resulting family TD_FAMILY_TIME_ANTISYM_CUBIC.
This is an API break.
Diffstat (limited to 'td_constraints.c')
-rw-r--r-- | td_constraints.c | 30 |
1 files changed, 15 insertions, 15 deletions
diff --git a/td_constraints.c b/td_constraints.c index 5618cb3..73d48a7 100644 --- a/td_constraints.c +++ b/td_constraints.c @@ -158,36 +158,36 @@ static const ConstraintEvalCB constraint_funcs_confflat[TD_CONSTRAINT_EQ_NB] = { [TD_CONSTRAINT_EQ_MOM_1] = constraint_eval_mom_t_confflat, }; -static double k_rtheta_eval_ae_time_antisym(TDConstraintEvalContext *ctx, - double r, double theta) +static double k_rtheta_eval_time_antisym_cubic(TDConstraintEvalContext *ctx, + double r, double theta) { const double r2 = SQR(r); const double r3 = r * r2; - return -60.0 * sqrt(2) * (3.0 * r - 2.0 * r3) * exp(-r2) * sin(2.0 * theta) * ctx->amplitude / sqrt(M_PI); + return (3.0 * r - 2.0 * r3) * exp(-r2) * sin(2.0 * theta) * ctx->amplitude; } -static double k_rtheta_eval_dr_ae_time_antisym(TDConstraintEvalContext *ctx, +static double k_rtheta_eval_dr_time_antisym_cubic(TDConstraintEvalContext *ctx, double r, double theta) { const double r2 = SQR(r); const double r4 = SQR(r2); - return -60.0 * sqrt(2) * (3.0 - 12.0 * r2 + 4.0 * r4) * exp(-r2) * sin(2.0 * theta) * ctx->amplitude / sqrt(M_PI); + return (3.0 - 12.0 * r2 + 4.0 * r4) * exp(-r2) * sin(2.0 * theta) * ctx->amplitude; } -static double k_rtheta_eval_dt_ae_time_antisym(TDConstraintEvalContext *ctx, - double r, double theta) +static double k_rtheta_eval_dt_time_antisym_cubic(TDConstraintEvalContext *ctx, + double r, double theta) { const double r2 = SQR(r); const double r3 = r * r2; - return -120.0 * sqrt(2) * (3.0 * r - 2.0 * r3) * exp(-r2) * cos(2.0 * theta) * ctx->amplitude / sqrt(M_PI); + return 2.0 * (3.0 * r - 2.0 * r3) * exp(-r2) * cos(2.0 * theta) * ctx->amplitude; } -static const TDFamilyDef ae_time_antisym = { - .eval_krt = k_rtheta_eval_ae_time_antisym, - .eval_krt_dr = k_rtheta_eval_dr_ae_time_antisym, - .eval_krt_dt = k_rtheta_eval_dt_ae_time_antisym, - .a_converge = 0.0092078837420, - .a_diverge = 0.0092078837427, +static const TDFamilyDef time_antisym_cubic = { + .eval_krt = k_rtheta_eval_time_antisym_cubic, + .eval_krt_dr = k_rtheta_eval_dr_time_antisym_cubic, + .eval_krt_dt = k_rtheta_eval_dt_time_antisym_cubic, + .a_converge = 0.440809326171875, + .a_diverge = 0.4408099365234375, .constraint_eval = constraint_funcs_confflat, }; @@ -223,7 +223,7 @@ static const TDFamilyDef simple_time_antisym = { }; static const TDFamilyDef *td_families[] = { - [TD_FAMILY_AE_TIME_ANTISYM] = &ae_time_antisym, + [TD_FAMILY_TIME_ANTISYM_CUBIC] = &time_antisym_cubic, [TD_FAMILY_SIMPLE_TIME_ANTISYM] = &simple_time_antisym, }; |