[Commits] [svn:einsteintoolkit] Multipole/trunk/ (Rev. 111)

ian.hinder at aei.mpg.de ian.hinder at aei.mpg.de
Wed Apr 30 10:35:54 CDT 2014


User: hinder
Date: 2014/04/30 10:35 AM

Modified:
 /trunk/
  interface.ccl, schedule.ccl
 /trunk/src/
  tests.cc
 /trunk/test/
  test_22.par, test_simpson.par, test_trapezoidal.par

Log:
 Output the integration results in the tests
 
 Previously only the convergence order was output, and this is very sensitive to roundoff error due to the numerical results being very close to the exact result.

File Changes:

Directory: /trunk/src/
======================

File [modified]: tests.cc
Delta lines: +9 -4
===================================================================
--- trunk/src/tests.cc	2014-04-25 18:14:18 UTC (rev 110)
+++ trunk/src/tests.cc	2014-04-30 15:35:53 UTC (rev 111)
@@ -72,13 +72,15 @@
   return result;
 }
 
-CCTK_REAL integration_convergence_order(CCTK_REAL (*integration_fn) (const CCTK_REAL *, int, int, CCTK_REAL, CCTK_REAL))
+CCTK_REAL integration_convergence_order(CCTK_REAL (*integration_fn) (const CCTK_REAL *, int, int, CCTK_REAL, CCTK_REAL), CCTK_REAL *store_low, CCTK_REAL *store_high)
 {
   const int n1 = 100;
   const int n2 = 200;
   const CCTK_REAL PI = acos(-1.0);
   const CCTK_REAL result1 = test_integral(100, integration_fn);
+  *store_low = result1;
   const CCTK_REAL result2 = test_integral(200, integration_fn);
+  *store_high = result2;
   const CCTK_REAL exact = 1./24 + 1./(64 * pow(PI,2));
   const CCTK_REAL error1 = fabs(result1 - exact);
   const CCTK_REAL error2 = fabs(result2 - exact);
@@ -88,9 +90,12 @@
 void Multipole_TestIntegrationConvergence(CCTK_ARGUMENTS)
 {
   DECLARE_CCTK_ARGUMENTS;
-  *test_simpson_convergence_order = integration_convergence_order(&Simpson2DIntegral);
-  *test_trapezoidal_convergence_order = integration_convergence_order(&Trapezoidal2DIntegral);
-  *test_midpoint_convergence_order = integration_convergence_order(&Midpoint2DIntegral);
+  *test_simpson_convergence_order = integration_convergence_order(
+    &Simpson2DIntegral, test_simpson_result_low, test_simpson_result_high);
+  *test_trapezoidal_convergence_order = integration_convergence_order(
+    &Trapezoidal2DIntegral, test_trapezoidal_result_low, test_trapezoidal_result_high);
+  *test_midpoint_convergence_order = integration_convergence_order(
+    &Midpoint2DIntegral, test_midpoint_result_low, test_midpoint_result_high);
 }
 
 void Multipole_TestIntegrationSymmetry(CCTK_ARGUMENTS)

Directory: /trunk/test/
=======================

File [modified]: test_22.par
Delta lines: +1 -1
===================================================================
--- trunk/test/test_22.par	2014-04-25 18:14:18 UTC (rev 110)
+++ trunk/test/test_22.par	2014-04-30 15:35:53 UTC (rev 111)
@@ -88,5 +88,5 @@
 # CarpetIOASCII::out1d_y = yes
 # CarpetIOASCII::out1d_z = yes
 
-CarpetIOASCII::out0d_vars = "Multipole::test_midpoint_convergence_order Multipole::test_midpoint_pi_symmetry"
+CarpetIOASCII::out0d_vars = "Multipole::test_midpoint_convergence_order Multipole::test_midpoint_pi_symmetry Multipole::test_midpoint_result_low Multipole::test_midpoint_result_high"
 CarpetIOASCII::out0d_every = 1

File [modified]: test_simpson.par
Delta lines: +1 -1
===================================================================
--- trunk/test/test_simpson.par	2014-04-25 18:14:18 UTC (rev 110)
+++ trunk/test/test_simpson.par	2014-04-30 15:35:53 UTC (rev 111)
@@ -88,5 +88,5 @@
 # CarpetIOASCII::out1d_y = yes
 # CarpetIOASCII::out1d_z = yes
 
-CarpetIOASCII::out0d_vars = "Multipole::test_simpson_convergence_order Multipole::test_simpson_pi_symmetry"
+CarpetIOASCII::out0d_vars = "Multipole::test_simpson_convergence_order Multipole::test_simpson_pi_symmetry Multipole::test_simpson_result_low Multipole::test_simpson_result_high"
 CarpetIOASCII::out0d_every = 1

File [modified]: test_trapezoidal.par
Delta lines: +1 -1
===================================================================
--- trunk/test/test_trapezoidal.par	2014-04-25 18:14:18 UTC (rev 110)
+++ trunk/test/test_trapezoidal.par	2014-04-30 15:35:53 UTC (rev 111)
@@ -88,5 +88,5 @@
 # CarpetIOASCII::out1d_y = yes
 # CarpetIOASCII::out1d_z = yes
 
-CarpetIOASCII::out0d_vars = "Multipole::test_trapezoidal_convergence_order Multipole::test_trapezoidal_pi_symmetry"
+CarpetIOASCII::out0d_vars = "Multipole::test_trapezoidal_convergence_order Multipole::test_trapezoidal_pi_symmetry Multipole::test_trapezoidal_result_low Multipole::test_trapezoidal_result_high"
 CarpetIOASCII::out0d_every = 1

Directory: /trunk/
==================

File [modified]: interface.ccl
Delta lines: +8 -0
===================================================================
--- trunk/interface.ccl	2014-04-25 18:14:18 UTC (rev 110)
+++ trunk/interface.ccl	2014-04-30 15:35:53 UTC (rev 111)
@@ -21,6 +21,14 @@
   test_simpson_convergence_order
 } "Test integration convergence orders"
 
+CCTK_REAL test_integration_results type=SCALAR
+{
+  test_midpoint_result_low, test_midpoint_result_high,
+  test_trapezoidal_result_low, test_trapezoidal_result_high,
+  test_simpson_result_low, test_simpson_result_high
+} "Test integration results"
+
+
 CCTK_REAL test_integration_symmetries type=SCALAR
 {
   test_midpoint_pi_symmetry,

File [modified]: schedule.ccl
Delta lines: +1 -0
===================================================================
--- trunk/schedule.ccl	2014-04-25 18:14:18 UTC (rev 110)
+++ trunk/schedule.ccl	2014-04-30 15:35:53 UTC (rev 111)
@@ -4,6 +4,7 @@
 {
   STORAGE: harmonics[1]
   STORAGE: test_integration_convergence_orders
+  STORAGE: test_integration_results
   STORAGE: test_integration_symmetries
 }
 



More information about the Commits mailing list