aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAnton Khirnov <anton@khirnov.net>2020-07-26 15:35:26 +0200
committerAnton Khirnov <anton@khirnov.net>2020-07-26 15:35:26 +0200
commit63c5de350e63a5b1fb9a25bee13c1f5533339a49 (patch)
treec8ae5c43f3568b4b6eef3789019fb6c1d3193f84
parent6fc86e405aa6e0a73665e8f1d2232852b4d74264 (diff)
td_constraints: change the form of cubic seed function
Use a simpler r^3 - r expression.
-rw-r--r--td_constraints.c13
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,
};