From e22991f57bdd33e90f668b24e39ad091f9f036df Mon Sep 17 00:00:00 2001 From: Anton Khirnov Date: Tue, 24 Apr 2018 11:59:30 +0200 Subject: Use the library to evaluate k_rtheta. --- src/teukolsky.c | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/src/teukolsky.c b/src/teukolsky.c index a710bda..60cef99 100644 --- a/src/teukolsky.c +++ b/src/teukolsky.c @@ -29,7 +29,7 @@ void teukolsky_data(CCTK_ARGUMENTS) DECLARE_CCTK_PARAMETERS; TDContext *td; - double *r_val, *theta_val, *psi_val, *krr_val, *kpp_val; + double *r_val, *theta_val, *psi_val, *krr_val, *kpp_val, *krt_val; int ret; int64_t grid_size = CCTK_GFINDEX3D(cctkGH, @@ -80,6 +80,7 @@ void teukolsky_data(CCTK_ARGUMENTS) psi_val = malloc(sizeof(*psi_val) * (cctk_lsh[2] * cctk_lsh[0] + 1)); krr_val = malloc(sizeof(*krr_val) * (cctk_lsh[2] * cctk_lsh[0] + 1)); kpp_val = malloc(sizeof(*kpp_val) * (cctk_lsh[2] * cctk_lsh[0] + 1)); + krt_val = malloc(sizeof(*krt_val) * (cctk_lsh[2] * cctk_lsh[0] + 1)); for (int j = 0; j < cctk_lsh[2]; j++) for (int i = 0; i < cctk_lsh[0]; i++) { double xx = x[CCTK_GFINDEX3D(cctkGH, i, 0, j)]; @@ -102,6 +103,9 @@ void teukolsky_data(CCTK_ARGUMENTS) ret |= td_eval_kpp(td, cctk_lsh[2] * cctk_lsh[0] + 1, r_val, theta_val, (const unsigned int [2]){ 0, 0}, kpp_val); + ret |= td_eval_krt(td, cctk_lsh[2] * cctk_lsh[0] + 1, r_val, theta_val, + (const unsigned int [2]){ 0, 0}, + krt_val); if (ret) CCTK_WARN(0, "Error evaluating the variables\n"); @@ -120,7 +124,7 @@ void teukolsky_data(CCTK_ARGUMENTS) double krr = krr_val[idx_src]; double kpp = kpp_val[idx_src]; double ktt = -(krr + kpp); - double krt = -60.0 * M_SQRT2 * amplitude * r * (3.0 - 2.0 * SQR(r)) * exp(-SQR(r)) * s2t / sqrt(M_PI); + double krt = krt_val[idx_src]; gxx[idx_dst] = psi4; gyy[idx_dst] = psi4; @@ -145,4 +149,5 @@ void teukolsky_data(CCTK_ARGUMENTS) free(psi_val); free(krr_val); free(kpp_val); + free(krt_val); } -- cgit v1.2.3