From 13f3a1c28489d6b4e0b78df1e277073f1a42b2a7 Mon Sep 17 00:00:00 2001 From: hinder Date: Wed, 9 Oct 2013 17:56:25 +0000 Subject: Enable and add test for trapezoidal integration method git-svn-id: http://svn.einsteintoolkit.org/cactus/EinsteinAnalysis/Multipole/trunk@97 4f5cb9a8-4dd8-4c2d-9bbd-173fa4467843 --- interface.ccl | 1 + src/integrate.cc | 2 +- src/integrate.hh | 2 ++ src/tests.cc | 1 + 4 files changed, 5 insertions(+), 1 deletion(-) diff --git a/interface.ccl b/interface.ccl index 6c12ff7..74ae269 100644 --- a/interface.ccl +++ b/interface.ccl @@ -17,4 +17,5 @@ CCTK_REAL harmonics type=GF timelevels=1 CCTK_REAL test_integration_convergence_orders type=SCALAR { test_simpson_convergence_order + test_trapezoidal_convergence_order } "Test integration convergence orders" diff --git a/src/integrate.cc b/src/integrate.cc index 90a27d9..1f64c29 100644 --- a/src/integrate.cc +++ b/src/integrate.cc @@ -48,7 +48,7 @@ CCTK_REAL Midpoint2DIntegral(CCTK_REAL const *f, int nx, int ny, CCTK_REAL hx, C return hx * hy * integrand_sum; } -static CCTK_REAL Trapezoidal2DIntegral(CCTK_REAL const *f, int nx, int ny, CCTK_REAL hx, CCTK_REAL hy) +CCTK_REAL Trapezoidal2DIntegral(CCTK_REAL const *f, int nx, int ny, CCTK_REAL hx, CCTK_REAL hy) { CCTK_REAL integrand_sum = 0.0; int ix = 0, iy = 0; diff --git a/src/integrate.hh b/src/integrate.hh index 168fd2f..85e2abb 100644 --- a/src/integrate.hh +++ b/src/integrate.hh @@ -6,6 +6,8 @@ CCTK_REAL Midpoint2DIntegral(CCTK_REAL const *f, int nx, int ny, CCTK_REAL hx, CCTK_REAL hy); +CCTK_REAL Trapezoidal2DIntegral(CCTK_REAL const *f, int nx, int ny, CCTK_REAL hx, CCTK_REAL hy); + CCTK_REAL Simpson2DIntegral(CCTK_REAL const *f, int nx, int ny, CCTK_REAL hx, CCTK_REAL hy); diff --git a/src/tests.cc b/src/tests.cc index ff5cc0a..09562c2 100644 --- a/src/tests.cc +++ b/src/tests.cc @@ -57,6 +57,7 @@ void Multipole_TestIntegrationConvergence(CCTK_ARGUMENTS) { DECLARE_CCTK_ARGUMENTS; *test_simpson_convergence_order = integration_convergence_order(&Simpson2DIntegral); + *test_trapezoidal_convergence_order = integration_convergence_order(&Trapezoidal2DIntegral); } // void Multipole_TestIntegrate(CCTK_ARGUMENTS) -- cgit v1.2.3