diff options
author | Anton Khirnov <anton@khirnov.net> | 2020-07-26 15:35:26 +0200 |
---|---|---|
committer | Anton Khirnov <anton@khirnov.net> | 2020-07-26 15:35:26 +0200 |
commit | 63c5de350e63a5b1fb9a25bee13c1f5533339a49 (patch) | |
tree | c8ae5c43f3568b4b6eef3789019fb6c1d3193f84 | |
parent | 6fc86e405aa6e0a73665e8f1d2232852b4d74264 (diff) |
td_constraints: change the form of cubic seed function
Use a simpler r^3 - r expression.
-rw-r--r-- | td_constraints.c | 13 |
1 files changed, 7 insertions, 6 deletions
diff --git a/td_constraints.c b/td_constraints.c index 25adde1..1c63954 100644 --- a/td_constraints.c +++ b/td_constraints.c @@ -163,15 +163,15 @@ static double k_rtheta_eval_time_antisym_cubic(TDConstraintEvalContext *ctx, { const double r2 = SQR(r); const double r3 = r * r2; - return (3.0 * r - 2.0 * r3) * exp(-r2) * sin(2.0 * theta) * ctx->amplitude; + return (r3 - r) * exp(-r2) * sin(2.0 * theta) * ctx->amplitude; } 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 (3.0 - 12.0 * r2 + 4.0 * r4) * exp(-r2) * sin(2.0 * theta) * ctx->amplitude; + const double r3 = r * r2; + return (3.0 * r2 - 1.0 - 2.0 * r * (r3 - r)) * exp(-r2) * sin(2.0 * theta) * ctx->amplitude; } static double k_rtheta_eval_dt_time_antisym_cubic(TDConstraintEvalContext *ctx, @@ -179,15 +179,16 @@ static double k_rtheta_eval_dt_time_antisym_cubic(TDConstraintEvalContext *ctx, { const double r2 = SQR(r); const double r3 = r * r2; - return 2.0 * (3.0 * r - 2.0 * r3) * exp(-r2) * cos(2.0 * theta) * ctx->amplitude; + return 2.0 * (r3 - r) * exp(-r2) * cos(2.0 * theta) * ctx->amplitude; } 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, + //.a_converge = 1.362473539196777, + .a_converge = 1.362473, + .a_diverge = 1.362473545703125, .constraint_eval = constraint_funcs_confflat, }; |