From 788f68c3bbf7c74b717d8894be4610d39d0d97f2 Mon Sep 17 00:00:00 2001 From: Anton Khirnov Date: Mon, 23 Apr 2018 08:45:07 +0200 Subject: Add the simple time-antisym initial data family. --- td_constraints.c | 25 +++++++++++++++++++++++-- 1 file changed, 23 insertions(+), 2 deletions(-) (limited to 'td_constraints.c') diff --git a/td_constraints.c b/td_constraints.c index 663b83a..dd62150 100644 --- a/td_constraints.c +++ b/td_constraints.c @@ -67,7 +67,27 @@ static const TDFamilyDef ae_time_antisym = { .a_diverge = 0.0092078837427, }; -#if 0 +static double k_rtheta_eval_simple_time_antisym(TDConstraintEvalContext *ctx, + double r, double theta) +{ + const double r2 = SQR(r); + return ctx->amplitude * r * exp(-r2) * sin(2.0 * theta); +} + +static double k_rtheta_eval_dr_simple_time_antisym(TDConstraintEvalContext *ctx, + double r, double theta) +{ + const double r2 = SQR(r); + return ctx->amplitude * (1.0 - 2.0 * r2) * exp(-r2) * sin(2.0 * theta); +} + +static double k_rtheta_eval_dt_simple_time_antisym(TDConstraintEvalContext *ctx, + double r, double theta) +{ + const double r2 = SQR(r); + return 2.0 * ctx->amplitude * r * exp(-r2) * cos(2.0 * theta); +} + static const TDFamilyDef simple_time_antisym = { .eval_krt = k_rtheta_eval_simple_time_antisym, .eval_krt_dr = k_rtheta_eval_dr_simple_time_antisym, @@ -75,10 +95,10 @@ static const TDFamilyDef simple_time_antisym = { .a_converge = 1.018918628476058, .a_diverge = 1.018918628476968, }; -#endif static const TDFamilyDef *td_families[] = { [TD_FAMILY_AE_TIME_ANTISYM] = &ae_time_antisym, + [TD_FAMILY_SIMPLE_TIME_ANTISYM] = &simple_time_antisym, }; static void @@ -292,4 +312,5 @@ int tdi_constraint_eval(TDConstraintEvalContext *ctx, enum TDConstraintEq eq, double *out) { constraint_funcs[eq](ctx, vars, out); + return 0; } -- cgit v1.2.3