From 63c5de350e63a5b1fb9a25bee13c1f5533339a49 Mon Sep 17 00:00:00 2001 From: Anton Khirnov Date: Sun, 26 Jul 2020 15:35:26 +0200 Subject: td_constraints: change the form of cubic seed function Use a simpler r^3 - r expression. --- td_constraints.c | 13 +++++++------ 1 file 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, }; -- cgit v1.2.3