RMAO572674BP6G6NLEUN6TDA6VVEN6JXTQILY3JGH3LIYPQDCTKQC Cactus Code Thorn TestODESolvers2Author(s) : Erik Schnetter <schnetter@gmail.com>Maintainer(s): Erik Schnetter <schnetter@gmail.com>Licence : LGPL--------------------------------------------------------------------------1. PurposeTest the ODESolvers thorn
# Configuration definitions for thorn TestODESolvers2
# Interface definition for thorn TestODESolvers2IMPLEMENTS: TestODESolvers2USES INCLUDE HEADER: loop.hxxCCTK_REAL state TYPE=gf TAGS='rhs="rhs"' { time poly exp1 exp2 } "State"CCTK_REAL rhs TYPE=gf TAGS='checkpoint="no"' { time_rhs poly_rhs exp1_rhs exp2_rhs } "RHS"CCTK_REAL error TYPE=gf TAGS='checkpoint="no"' { time_err poly_err } "Error"CCTK_REAL order TYPE=gf TAGS='checkpoint="no"' { exp_order } "Convergence order"
# Parameter definitions for thorn TestODESolvers2CCTK_INT porder "Order of polynomial"{0:* :: ""} 2
# Schedule definitions for thorn TestODESolvers2STORAGE: state rhs error orderSCHEDULE TestODESolvers2_Initial AT initial{LANG: CWRITES: state(everywhere)} "Initialize state vector"SCHEDULE TestODESolvers2_RHS IN ODESolvers_RHS{LANG: CREADS: state(everywhere)WRITES: rhs(everywhere)} "RHS function"# SCHEDULE TestODESolvers2_Boundary AT poststep# {# LANG: C# SYNC: state# } "Apply boundary conditions to state vector"SCHEDULE TestODESolvers2_Error AT analysis{LANG: CREADS: state(everywhere)WRITES: error(everywhere) order(everywhere)} "Calculate error in state vector"
# Main make.code.defn file for thorn TestODESolvers2# Source files in this directorySRCS = odes.cxx# Subdirectories containing source filesSUBDIRS =
#include <loop.hxx>#include <cctk.h>#include <cctk_Parameters.h>#include <cctk_Arguments_Checked.h>#include <cassert>#include <cmath>#include <limits>namespace TestODESolvers2 {using namespace std;#if 0// pos(t) = sin(omega t)// vel(t) = omega cos(omega t)// d/dt pos = vel// d/dt vel = -omega^2 posconst CCTK_REAL omega = 1;#endif// u(t) = (1 + t)^p// d/dt u = p (1 + t)^(p-1) = p u(t)^((p-1) / p)// v(t) = exp alpha t// d/dt v = alpha exp alpha t = alpha v////////////////////////////////////////////////////////////////////////////////extern "C" void TestODESolvers2_Initial(CCTK_ARGUMENTS) {DECLARE_CCTK_ARGUMENTS_TestODESolvers2_Initial;DECLARE_CCTK_PARAMETERS;const Loop::GF3D<CCTK_REAL, 1, 1, 1> time_(cctkGH, time);const Loop::GF3D<CCTK_REAL, 1, 1, 1> poly_(cctkGH, poly);const Loop::GF3D<CCTK_REAL, 1, 1, 1> exp1_(cctkGH, exp1);const Loop::GF3D<CCTK_REAL, 1, 1, 1> exp2_(cctkGH, exp2);Loop::loop_all<1, 1, 1>(cctkGH, [&](const Loop::PointDesc &p) {time_(p.I) = cctk_time;poly_(p.I) = pow(1 + cctk_time, porder);exp1_(p.I) = exp(cctk_time);exp2_(p.I) = exp(cctk_time / 2);});}// extern "C" void TestODESolvers2_Boundary(CCTK_ARGUMENTS) {// DECLARE_CCTK_ARGUMENTS_TestODESolvers2_Boundary;// DECLARE_CCTK_PARAMETERS;//// // do nothing// }extern "C" void TestODESolvers2_RHS(CCTK_ARGUMENTS) {DECLARE_CCTK_ARGUMENTS_TestODESolvers2_RHS;DECLARE_CCTK_PARAMETERS;const Loop::GF3D<const CCTK_REAL, 1, 1, 1> time_(cctkGH, time);const Loop::GF3D<const CCTK_REAL, 1, 1, 1> exp1_(cctkGH, exp1);const Loop::GF3D<const CCTK_REAL, 1, 1, 1> exp2_(cctkGH, exp2);const Loop::GF3D<CCTK_REAL, 1, 1, 1> time_rhs_(cctkGH, time_rhs);const Loop::GF3D<CCTK_REAL, 1, 1, 1> poly_rhs_(cctkGH, poly_rhs);const Loop::GF3D<CCTK_REAL, 1, 1, 1> exp1_rhs_(cctkGH, exp1_rhs);const Loop::GF3D<CCTK_REAL, 1, 1, 1> exp2_rhs_(cctkGH, exp2_rhs);Loop::loop_all<1, 1, 1>(cctkGH, [&](const Loop::PointDesc &p) {if (porder > 0)if (abs(time_(p.I) - cctk_time) >10 * numeric_limits<CCTK_REAL>::epsilon())CCTK_VERROR("Time is incorrect: time=%.17g, cctk_time=%.17g",double(time_(p.I)), double(cctk_time));time_rhs_(p.I) = 1;poly_rhs_(p.I) = porder == 0 ? 0 : porder * pow(1 + cctk_time, porder - 1);exp1_rhs_(p.I) = exp1_(p.I);exp2_rhs_(p.I) = exp2_(p.I) / 2;});}extern "C" void TestODESolvers2_Error(CCTK_ARGUMENTS) {DECLARE_CCTK_ARGUMENTS_TestODESolvers2_Error;DECLARE_CCTK_PARAMETERS;const Loop::GF3D<const CCTK_REAL, 1, 1, 1> time_(cctkGH, time);const Loop::GF3D<const CCTK_REAL, 1, 1, 1> poly_(cctkGH, poly);const Loop::GF3D<const CCTK_REAL, 1, 1, 1> exp1_(cctkGH, exp1);const Loop::GF3D<const CCTK_REAL, 1, 1, 1> exp2_(cctkGH, exp2);const Loop::GF3D<CCTK_REAL, 1, 1, 1> time_err_(cctkGH, time_err);const Loop::GF3D<CCTK_REAL, 1, 1, 1> poly_err_(cctkGH, poly_err);const Loop::GF3D<CCTK_REAL, 1, 1, 1> exp_order_(cctkGH, exp_order);Loop::loop_all<1, 1, 1>(cctkGH, [&](const Loop::PointDesc &p) {time_err_(p.I) = time_(p.I) - cctk_time;poly_err_(p.I) = poly_(p.I) - pow(1 + cctk_time, porder);if (cctk_iteration == 0) {exp_order_(p.I) = 0; // undefined} else {const CCTK_REAL exp1_err = exp1_(p.I) - exp(cctk_time);const CCTK_REAL exp2_err = exp2_(p.I) - exp(cctk_time / 2);const CCTK_REAL order = log(exp1_err / exp2_err) / log(CCTK_REAL(2)) - 1;// Re-map the order so that the error is of the same magnitude as the// floating-point epsilon instead of cctk_delta_timeconst CCTK_REAL order1 = pow(order - porder, porder + 2) + porder;exp_order_(p.I) = order1;CCTK_VINFO("exp1_err=%.17g exp2_err=%.17g order=%.17g", double(exp1_err),double(exp2_err), double(exp_order_(p.I)));}});}} // namespace TestODESolvers2
# 1:iteration 2:time 3:level 4:i 5:j 6:k 7:x 8:y 9:z 9:time_err 10:poly_err0 0.0000000000000000e+00 0 0 0 0 5.0000000000000000e-01 5.0000000000000000e-01 5.0000000000000000e-01 0.0000000000000000e+00 0.0000000000000000e+00
# 1:iteration 2:time 3:level 4:i 5:j 6:k 7:x 8:y 9:z 9:time_err 10:poly_err0 0.0000000000000000e+00 0 0 0 0 5.0000000000000000e-01 5.0000000000000000e-01 5.0000000000000000e-01 0.0000000000000000e+00 0.0000000000000000e+00
# 1:iteration 2:time 3:level 4:i 5:j 6:k 7:x 8:y 9:z 9:time_err 10:poly_err0 0.0000000000000000e+00 0 0 0 0 5.0000000000000000e-01 5.0000000000000000e-01 5.0000000000000000e-01 0.0000000000000000e+00 0.0000000000000000e+00
# 1:iteration 2:time 3:level 4:i 5:j 6:k 7:x 8:y 9:z 9:time_err 10:poly_err1 1.0000000000000000e+00 0 0 0 0 5.0000000000000000e-01 5.0000000000000000e-01 5.0000000000000000e-01 -1.0000000000000000e+00 0.0000000000000000e+00
# 1:iteration 2:time 3:level 4:i 5:j 6:k 7:x 8:y 9:z 9:time_err 10:poly_err1 1.0000000000000000e+00 0 0 0 0 5.0000000000000000e-01 5.0000000000000000e-01 5.0000000000000000e-01 -1.0000000000000000e+00 0.0000000000000000e+00
# 1:iteration 2:time 3:level 4:i 5:j 6:k 7:x 8:y 9:z 9:time_err 10:poly_err1 1.0000000000000000e+00 0 0 0 0 5.0000000000000000e-01 5.0000000000000000e-01 5.0000000000000000e-01 -1.0000000000000000e+00 0.0000000000000000e+00
# 1:iteration 2:time 3:level 4:i 5:j 6:k 7:x 8:y 9:z 9:exp_order0 0.0000000000000000e+00 0 0 0 0 5.0000000000000000e-01 5.0000000000000000e-01 5.0000000000000000e-01 0.0000000000000000e+00
# 1:iteration 2:time 3:level 4:i 5:j 6:k 7:x 8:y 9:z 9:exp_order0 0.0000000000000000e+00 0 0 0 0 5.0000000000000000e-01 5.0000000000000000e-01 5.0000000000000000e-01 0.0000000000000000e+00
# 1:iteration 2:time 3:level 4:i 5:j 6:k 7:x 8:y 9:z 9:exp_order0 0.0000000000000000e+00 0 0 0 0 5.0000000000000000e-01 5.0000000000000000e-01 5.0000000000000000e-01 0.0000000000000000e+00
# 1:iteration 2:time 3:level 4:i 5:j 6:k 7:x 8:y 9:z 9:exp_order1 1.0000000000000000e+00 0 0 0 0 5.0000000000000000e-01 5.0000000000000000e-01 5.0000000000000000e-01 1.6426487559821826e-01
# 1:iteration 2:time 3:level 4:i 5:j 6:k 7:x 8:y 9:z 9:exp_order1 1.0000000000000000e+00 0 0 0 0 5.0000000000000000e-01 5.0000000000000000e-01 5.0000000000000000e-01 1.6426487559821826e-01
# 1:iteration 2:time 3:level 4:i 5:j 6:k 7:x 8:y 9:z 9:exp_order1 1.0000000000000000e+00 0 0 0 0 5.0000000000000000e-01 5.0000000000000000e-01 5.0000000000000000e-01 1.6426487559821826e-01
# 1:iteration 2:time 3:level 4:i 5:j 6:k 7:x 8:y 9:z 9:time 10:poly 11:exp1 12:exp20 0.0000000000000000e+00 0 0 0 0 5.0000000000000000e-01 5.0000000000000000e-01 5.0000000000000000e-01 0.0000000000000000e+00 1.0000000000000000e+00 1.0000000000000000e+00 1.0000000000000000e+00
# 1:iteration 2:time 3:level 4:i 5:j 6:k 7:x 8:y 9:z 9:time 10:poly 11:exp1 12:exp20 0.0000000000000000e+00 0 0 0 0 5.0000000000000000e-01 5.0000000000000000e-01 5.0000000000000000e-01 0.0000000000000000e+00 1.0000000000000000e+00 1.0000000000000000e+00 1.0000000000000000e+00
# 1:iteration 2:time 3:level 4:i 5:j 6:k 7:x 8:y 9:z 9:time 10:poly 11:exp1 12:exp20 0.0000000000000000e+00 0 0 0 0 5.0000000000000000e-01 5.0000000000000000e-01 5.0000000000000000e-01 0.0000000000000000e+00 1.0000000000000000e+00 1.0000000000000000e+00 1.0000000000000000e+00
# 1:iteration 2:time 3:level 4:i 5:j 6:k 7:x 8:y 9:z 9:time 10:poly 11:exp1 12:exp21 1.0000000000000000e+00 0 0 0 0 5.0000000000000000e-01 5.0000000000000000e-01 5.0000000000000000e-01 0.0000000000000000e+00 1.0000000000000000e+00 1.0000000000000000e+00 1.0000000000000000e+00
# 1:iteration 2:time 3:level 4:i 5:j 6:k 7:x 8:y 9:z 9:time 10:poly 11:exp1 12:exp21 1.0000000000000000e+00 0 0 0 0 5.0000000000000000e-01 5.0000000000000000e-01 5.0000000000000000e-01 0.0000000000000000e+00 1.0000000000000000e+00 1.0000000000000000e+00 1.0000000000000000e+00
# 1:iteration 2:time 3:level 4:i 5:j 6:k 7:x 8:y 9:z 9:time 10:poly 11:exp1 12:exp21 1.0000000000000000e+00 0 0 0 0 5.0000000000000000e-01 5.0000000000000000e-01 5.0000000000000000e-01 0.0000000000000000e+00 1.0000000000000000e+00 1.0000000000000000e+00 1.0000000000000000e+00
ActiveThorns = "CarpetXIOUtilODESolversTestODESolvers2"Cactus::presync_mode = "mixed-error"CarpetX::xmin = 0CarpetX::ymin = 0CarpetX::zmin = 0CarpetX::xmax = 1CarpetX::ymax = 1CarpetX::zmax = 1CarpetX::ncells_x = 1CarpetX::ncells_y = 1CarpetX::ncells_z = 1CarpetX::blocking_factor_x = 1CarpetX::blocking_factor_y = 1CarpetX::blocking_factor_z = 1CarpetX::ghost_size = 0CarpetX::dtfac = 1.0Cactus::cctk_itlast = 1ODESolvers::method = "constant"TestODESolvers2::porder = 0IO::out_dir = $parfileIO::parfile_write = "no"IO::out_every = 1CarpetX::out_norm_vars = ""CarpetX::out_tsv_vars = "TestODESolvers2::errorTestODESolvers2::orderTestODESolvers2::state"
# 1:iteration 2:time 3:level 4:i 5:j 6:k 7:x 8:y 9:z 9:time_err 10:poly_err0 0.0000000000000000e+00 0 0 0 0 5.0000000000000000e-01 5.0000000000000000e-01 5.0000000000000000e-01 0.0000000000000000e+00 0.0000000000000000e+00
# 1:iteration 2:time 3:level 4:i 5:j 6:k 7:x 8:y 9:z 9:time_err 10:poly_err0 0.0000000000000000e+00 0 0 0 0 5.0000000000000000e-01 5.0000000000000000e-01 5.0000000000000000e-01 0.0000000000000000e+00 0.0000000000000000e+00
# 1:iteration 2:time 3:level 4:i 5:j 6:k 7:x 8:y 9:z 9:time_err 10:poly_err0 0.0000000000000000e+00 0 0 0 0 5.0000000000000000e-01 5.0000000000000000e-01 5.0000000000000000e-01 0.0000000000000000e+00 0.0000000000000000e+00
# 1:iteration 2:time 3:level 4:i 5:j 6:k 7:x 8:y 9:z 9:time_err 10:poly_err1 1.0000000000000000e+00 0 0 0 0 5.0000000000000000e-01 5.0000000000000000e-01 5.0000000000000000e-01 -1.1102230246251565e-16 -1.1368683772161603e-12
# 1:iteration 2:time 3:level 4:i 5:j 6:k 7:x 8:y 9:z 9:time_err 10:poly_err1 1.0000000000000000e+00 0 0 0 0 5.0000000000000000e-01 5.0000000000000000e-01 5.0000000000000000e-01 -1.1102230246251565e-16 -1.1368683772161603e-12
# 1:iteration 2:time 3:level 4:i 5:j 6:k 7:x 8:y 9:z 9:time_err 10:poly_err1 1.0000000000000000e+00 0 0 0 0 5.0000000000000000e-01 5.0000000000000000e-01 5.0000000000000000e-01 -1.1102230246251565e-16 -1.1368683772161603e-12
# 1:iteration 2:time 3:level 4:i 5:j 6:k 7:x 8:y 9:z 9:exp_order0 0.0000000000000000e+00 0 0 0 0 5.0000000000000000e-01 5.0000000000000000e-01 5.0000000000000000e-01 0.0000000000000000e+00
# 1:iteration 2:time 3:level 4:i 5:j 6:k 7:x 8:y 9:z 9:exp_order0 0.0000000000000000e+00 0 0 0 0 5.0000000000000000e-01 5.0000000000000000e-01 5.0000000000000000e-01 0.0000000000000000e+00
# 1:iteration 2:time 3:level 4:i 5:j 6:k 7:x 8:y 9:z 9:exp_order0 0.0000000000000000e+00 0 0 0 0 5.0000000000000000e-01 5.0000000000000000e-01 5.0000000000000000e-01 0.0000000000000000e+00
# 1:iteration 2:time 3:level 4:i 5:j 6:k 7:x 8:y 9:z 9:exp_order1 1.0000000000000000e+00 0 0 0 0 5.0000000000000000e-01 5.0000000000000000e-01 5.0000000000000000e-01 8.6004316938895879e+00
# 1:iteration 2:time 3:level 4:i 5:j 6:k 7:x 8:y 9:z 9:exp_order1 1.0000000000000000e+00 0 0 0 0 5.0000000000000000e-01 5.0000000000000000e-01 5.0000000000000000e-01 8.6004316938895879e+00
# 1:iteration 2:time 3:level 4:i 5:j 6:k 7:x 8:y 9:z 9:exp_order1 1.0000000000000000e+00 0 0 0 0 5.0000000000000000e-01 5.0000000000000000e-01 5.0000000000000000e-01 8.6004316938895879e+00
# 1:iteration 2:time 3:level 4:i 5:j 6:k 7:x 8:y 9:z 9:time 10:poly 11:exp1 12:exp20 0.0000000000000000e+00 0 0 0 0 5.0000000000000000e-01 5.0000000000000000e-01 5.0000000000000000e-01 0.0000000000000000e+00 1.0000000000000000e+00 1.0000000000000000e+00 1.0000000000000000e+00
# 1:iteration 2:time 3:level 4:i 5:j 6:k 7:x 8:y 9:z 9:time 10:poly 11:exp1 12:exp20 0.0000000000000000e+00 0 0 0 0 5.0000000000000000e-01 5.0000000000000000e-01 5.0000000000000000e-01 0.0000000000000000e+00 1.0000000000000000e+00 1.0000000000000000e+00 1.0000000000000000e+00
# 1:iteration 2:time 3:level 4:i 5:j 6:k 7:x 8:y 9:z 9:time 10:poly 11:exp1 12:exp20 0.0000000000000000e+00 0 0 0 0 5.0000000000000000e-01 5.0000000000000000e-01 5.0000000000000000e-01 0.0000000000000000e+00 1.0000000000000000e+00 1.0000000000000000e+00 1.0000000000000000e+00
# 1:iteration 2:time 3:level 4:i 5:j 6:k 7:x 8:y 9:z 9:time 10:poly 11:exp1 12:exp21 1.0000000000000000e+00 0 0 0 0 5.0000000000000000e-01 5.0000000000000000e-01 5.0000000000000000e-01 9.9999999999999989e-01 2.5599999999999886e+02 2.7182817884754833e+00 1.6487212706597123e+00
# 1:iteration 2:time 3:level 4:i 5:j 6:k 7:x 8:y 9:z 9:time 10:poly 11:exp1 12:exp21 1.0000000000000000e+00 0 0 0 0 5.0000000000000000e-01 5.0000000000000000e-01 5.0000000000000000e-01 9.9999999999999989e-01 2.5599999999999886e+02 2.7182817884754833e+00 1.6487212706597123e+00
# 1:iteration 2:time 3:level 4:i 5:j 6:k 7:x 8:y 9:z 9:time 10:poly 11:exp1 12:exp21 1.0000000000000000e+00 0 0 0 0 5.0000000000000000e-01 5.0000000000000000e-01 5.0000000000000000e-01 9.9999999999999989e-01 2.5599999999999886e+02 2.7182817884754833e+00 1.6487212706597123e+00
ActiveThorns = "CarpetXIOUtilODESolversTestODESolvers2"Cactus::presync_mode = "mixed-error"CarpetX::xmin = 0CarpetX::ymin = 0CarpetX::zmin = 0CarpetX::xmax = 1CarpetX::ymax = 1CarpetX::zmax = 1CarpetX::ncells_x = 1CarpetX::ncells_y = 1CarpetX::ncells_z = 1CarpetX::blocking_factor_x = 1CarpetX::blocking_factor_y = 1CarpetX::blocking_factor_z = 1CarpetX::ghost_size = 0CarpetX::dtfac = 1.0Cactus::cctk_itlast = 1ODESolvers::method = "DP87"TestODESolvers2::porder = 8IO::out_dir = $parfileIO::parfile_write = "no"IO::out_every = 1CarpetX::out_norm_vars = ""CarpetX::out_tsv_vars = "TestODESolvers2::errorTestODESolvers2::orderTestODESolvers2::state"
# 1:iteration 2:time 3:level 4:i 5:j 6:k 7:x 8:y 9:z 9:time_err 10:poly_err0 0.0000000000000000e+00 0 0 0 0 5.0000000000000000e-01 5.0000000000000000e-01 5.0000000000000000e-01 0.0000000000000000e+00 0.0000000000000000e+00
# 1:iteration 2:time 3:level 4:i 5:j 6:k 7:x 8:y 9:z 9:time_err 10:poly_err0 0.0000000000000000e+00 0 0 0 0 5.0000000000000000e-01 5.0000000000000000e-01 5.0000000000000000e-01 0.0000000000000000e+00 0.0000000000000000e+00
# 1:iteration 2:time 3:level 4:i 5:j 6:k 7:x 8:y 9:z 9:time_err 10:poly_err0 0.0000000000000000e+00 0 0 0 0 5.0000000000000000e-01 5.0000000000000000e-01 5.0000000000000000e-01 0.0000000000000000e+00 0.0000000000000000e+00
# 1:iteration 2:time 3:level 4:i 5:j 6:k 7:x 8:y 9:z 9:time_err 10:poly_err1 1.0000000000000000e+00 0 0 0 0 5.0000000000000000e-01 5.0000000000000000e-01 5.0000000000000000e-01 0.0000000000000000e+00 0.0000000000000000e+00
# 1:iteration 2:time 3:level 4:i 5:j 6:k 7:x 8:y 9:z 9:time_err 10:poly_err1 1.0000000000000000e+00 0 0 0 0 5.0000000000000000e-01 5.0000000000000000e-01 5.0000000000000000e-01 0.0000000000000000e+00 0.0000000000000000e+00
# 1:iteration 2:time 3:level 4:i 5:j 6:k 7:x 8:y 9:z 9:time_err 10:poly_err1 1.0000000000000000e+00 0 0 0 0 5.0000000000000000e-01 5.0000000000000000e-01 5.0000000000000000e-01 0.0000000000000000e+00 0.0000000000000000e+00
# 1:iteration 2:time 3:level 4:i 5:j 6:k 7:x 8:y 9:z 9:exp_order0 0.0000000000000000e+00 0 0 0 0 5.0000000000000000e-01 5.0000000000000000e-01 5.0000000000000000e-01 0.0000000000000000e+00
# 1:iteration 2:time 3:level 4:i 5:j 6:k 7:x 8:y 9:z 9:exp_order0 0.0000000000000000e+00 0 0 0 0 5.0000000000000000e-01 5.0000000000000000e-01 5.0000000000000000e-01 0.0000000000000000e+00
# 1:iteration 2:time 3:level 4:i 5:j 6:k 7:x 8:y 9:z 9:exp_order0 0.0000000000000000e+00 0 0 0 0 5.0000000000000000e-01 5.0000000000000000e-01 5.0000000000000000e-01 0.0000000000000000e+00
# 1:iteration 2:time 3:level 4:i 5:j 6:k 7:x 8:y 9:z 9:exp_order1 1.0000000000000000e+00 0 0 0 0 5.0000000000000000e-01 5.0000000000000000e-01 5.0000000000000000e-01 1.0201101154535059e+00
# 1:iteration 2:time 3:level 4:i 5:j 6:k 7:x 8:y 9:z 9:exp_order1 1.0000000000000000e+00 0 0 0 0 5.0000000000000000e-01 5.0000000000000000e-01 5.0000000000000000e-01 1.0201101154535059e+00
# 1:iteration 2:time 3:level 4:i 5:j 6:k 7:x 8:y 9:z 9:exp_order1 1.0000000000000000e+00 0 0 0 0 5.0000000000000000e-01 5.0000000000000000e-01 5.0000000000000000e-01 1.0201101154535059e+00
# 1:iteration 2:time 3:level 4:i 5:j 6:k 7:x 8:y 9:z 9:time 10:poly 11:exp1 12:exp20 0.0000000000000000e+00 0 0 0 0 5.0000000000000000e-01 5.0000000000000000e-01 5.0000000000000000e-01 0.0000000000000000e+00 1.0000000000000000e+00 1.0000000000000000e+00 1.0000000000000000e+00
# 1:iteration 2:time 3:level 4:i 5:j 6:k 7:x 8:y 9:z 9:time 10:poly 11:exp1 12:exp20 0.0000000000000000e+00 0 0 0 0 5.0000000000000000e-01 5.0000000000000000e-01 5.0000000000000000e-01 0.0000000000000000e+00 1.0000000000000000e+00 1.0000000000000000e+00 1.0000000000000000e+00
# 1:iteration 2:time 3:level 4:i 5:j 6:k 7:x 8:y 9:z 9:time 10:poly 11:exp1 12:exp20 0.0000000000000000e+00 0 0 0 0 5.0000000000000000e-01 5.0000000000000000e-01 5.0000000000000000e-01 0.0000000000000000e+00 1.0000000000000000e+00 1.0000000000000000e+00 1.0000000000000000e+00
# 1:iteration 2:time 3:level 4:i 5:j 6:k 7:x 8:y 9:z 9:time 10:poly 11:exp1 12:exp21 1.0000000000000000e+00 0 0 0 0 5.0000000000000000e-01 5.0000000000000000e-01 5.0000000000000000e-01 1.0000000000000000e+00 2.0000000000000000e+00 2.0000000000000000e+00 1.5000000000000000e+00
# 1:iteration 2:time 3:level 4:i 5:j 6:k 7:x 8:y 9:z 9:time 10:poly 11:exp1 12:exp21 1.0000000000000000e+00 0 0 0 0 5.0000000000000000e-01 5.0000000000000000e-01 5.0000000000000000e-01 1.0000000000000000e+00 2.0000000000000000e+00 2.0000000000000000e+00 1.5000000000000000e+00
# 1:iteration 2:time 3:level 4:i 5:j 6:k 7:x 8:y 9:z 9:time 10:poly 11:exp1 12:exp21 1.0000000000000000e+00 0 0 0 0 5.0000000000000000e-01 5.0000000000000000e-01 5.0000000000000000e-01 1.0000000000000000e+00 2.0000000000000000e+00 2.0000000000000000e+00 1.5000000000000000e+00
ActiveThorns = "CarpetXIOUtilODESolversTestODESolvers2"Cactus::presync_mode = "mixed-error"CarpetX::xmin = 0CarpetX::ymin = 0CarpetX::zmin = 0CarpetX::xmax = 1CarpetX::ymax = 1CarpetX::zmax = 1CarpetX::ncells_x = 1CarpetX::ncells_y = 1CarpetX::ncells_z = 1CarpetX::blocking_factor_x = 1CarpetX::blocking_factor_y = 1CarpetX::blocking_factor_z = 1CarpetX::ghost_size = 0CarpetX::dtfac = 1.0Cactus::cctk_itlast = 1ODESolvers::method = "Euler"TestODESolvers2::porder = 1IO::out_dir = $parfileIO::parfile_write = "no"IO::out_every = 1CarpetX::out_norm_vars = ""CarpetX::out_tsv_vars = "TestODESolvers2::errorTestODESolvers2::orderTestODESolvers2::state"
# 1:iteration 2:time 3:level 4:i 5:j 6:k 7:x 8:y 9:z 9:time_err 10:poly_err0 0.0000000000000000e+00 0 0 0 0 5.0000000000000000e-01 5.0000000000000000e-01 5.0000000000000000e-01 0.0000000000000000e+00 0.0000000000000000e+00
# 1:iteration 2:time 3:level 4:i 5:j 6:k 7:x 8:y 9:z 9:time_err 10:poly_err0 0.0000000000000000e+00 0 0 0 0 5.0000000000000000e-01 5.0000000000000000e-01 5.0000000000000000e-01 0.0000000000000000e+00 0.0000000000000000e+00
# 1:iteration 2:time 3:level 4:i 5:j 6:k 7:x 8:y 9:z 9:time_err 10:poly_err0 0.0000000000000000e+00 0 0 0 0 5.0000000000000000e-01 5.0000000000000000e-01 5.0000000000000000e-01 0.0000000000000000e+00 0.0000000000000000e+00
# 1:iteration 2:time 3:level 4:i 5:j 6:k 7:x 8:y 9:z 9:time_err 10:poly_err1 1.0000000000000000e+00 0 0 0 0 5.0000000000000000e-01 5.0000000000000000e-01 5.0000000000000000e-01 0.0000000000000000e+00 0.0000000000000000e+00
# 1:iteration 2:time 3:level 4:i 5:j 6:k 7:x 8:y 9:z 9:time_err 10:poly_err1 1.0000000000000000e+00 0 0 0 0 5.0000000000000000e-01 5.0000000000000000e-01 5.0000000000000000e-01 0.0000000000000000e+00 0.0000000000000000e+00
# 1:iteration 2:time 3:level 4:i 5:j 6:k 7:x 8:y 9:z 9:time_err 10:poly_err1 1.0000000000000000e+00 0 0 0 0 5.0000000000000000e-01 5.0000000000000000e-01 5.0000000000000000e-01 0.0000000000000000e+00 0.0000000000000000e+00
# 1:iteration 2:time 3:level 4:i 5:j 6:k 7:x 8:y 9:z 9:exp_order0 0.0000000000000000e+00 0 0 0 0 5.0000000000000000e-01 5.0000000000000000e-01 5.0000000000000000e-01 0.0000000000000000e+00
# 1:iteration 2:time 3:level 4:i 5:j 6:k 7:x 8:y 9:z 9:exp_order0 0.0000000000000000e+00 0 0 0 0 5.0000000000000000e-01 5.0000000000000000e-01 5.0000000000000000e-01 0.0000000000000000e+00
# 1:iteration 2:time 3:level 4:i 5:j 6:k 7:x 8:y 9:z 9:exp_order0 0.0000000000000000e+00 0 0 0 0 5.0000000000000000e-01 5.0000000000000000e-01 5.0000000000000000e-01 0.0000000000000000e+00
# 1:iteration 2:time 3:level 4:i 5:j 6:k 7:x 8:y 9:z 9:exp_order1 1.0000000000000000e+00 0 0 0 0 5.0000000000000000e-01 5.0000000000000000e-01 5.0000000000000000e-01 2.0016629507260797e+00
# 1:iteration 2:time 3:level 4:i 5:j 6:k 7:x 8:y 9:z 9:exp_order1 1.0000000000000000e+00 0 0 0 0 5.0000000000000000e-01 5.0000000000000000e-01 5.0000000000000000e-01 2.0016629507260797e+00
# 1:iteration 2:time 3:level 4:i 5:j 6:k 7:x 8:y 9:z 9:exp_order1 1.0000000000000000e+00 0 0 0 0 5.0000000000000000e-01 5.0000000000000000e-01 5.0000000000000000e-01 2.0016629507260797e+00
# 1:iteration 2:time 3:level 4:i 5:j 6:k 7:x 8:y 9:z 9:time 10:poly 11:exp1 12:exp20 0.0000000000000000e+00 0 0 0 0 5.0000000000000000e-01 5.0000000000000000e-01 5.0000000000000000e-01 0.0000000000000000e+00 1.0000000000000000e+00 1.0000000000000000e+00 1.0000000000000000e+00
# 1:iteration 2:time 3:level 4:i 5:j 6:k 7:x 8:y 9:z 9:time 10:poly 11:exp1 12:exp20 0.0000000000000000e+00 0 0 0 0 5.0000000000000000e-01 5.0000000000000000e-01 5.0000000000000000e-01 0.0000000000000000e+00 1.0000000000000000e+00 1.0000000000000000e+00 1.0000000000000000e+00
# 1:iteration 2:time 3:level 4:i 5:j 6:k 7:x 8:y 9:z 9:time 10:poly 11:exp1 12:exp20 0.0000000000000000e+00 0 0 0 0 5.0000000000000000e-01 5.0000000000000000e-01 5.0000000000000000e-01 0.0000000000000000e+00 1.0000000000000000e+00 1.0000000000000000e+00 1.0000000000000000e+00
# 1:iteration 2:time 3:level 4:i 5:j 6:k 7:x 8:y 9:z 9:time 10:poly 11:exp1 12:exp21 1.0000000000000000e+00 0 0 0 0 5.0000000000000000e-01 5.0000000000000000e-01 5.0000000000000000e-01 1.0000000000000000e+00 4.0000000000000000e+00 2.5000000000000000e+00 1.6250000000000000e+00
# 1:iteration 2:time 3:level 4:i 5:j 6:k 7:x 8:y 9:z 9:time 10:poly 11:exp1 12:exp21 1.0000000000000000e+00 0 0 0 0 5.0000000000000000e-01 5.0000000000000000e-01 5.0000000000000000e-01 1.0000000000000000e+00 4.0000000000000000e+00 2.5000000000000000e+00 1.6250000000000000e+00
# 1:iteration 2:time 3:level 4:i 5:j 6:k 7:x 8:y 9:z 9:time 10:poly 11:exp1 12:exp21 1.0000000000000000e+00 0 0 0 0 5.0000000000000000e-01 5.0000000000000000e-01 5.0000000000000000e-01 1.0000000000000000e+00 4.0000000000000000e+00 2.5000000000000000e+00 1.6250000000000000e+00
ActiveThorns = "CarpetXIOUtilODESolversTestODESolvers2"Cactus::presync_mode = "mixed-error"CarpetX::xmin = 0CarpetX::ymin = 0CarpetX::zmin = 0CarpetX::xmax = 1CarpetX::ymax = 1CarpetX::zmax = 1CarpetX::ncells_x = 1CarpetX::ncells_y = 1CarpetX::ncells_z = 1CarpetX::blocking_factor_x = 1CarpetX::blocking_factor_y = 1CarpetX::blocking_factor_z = 1CarpetX::ghost_size = 0CarpetX::dtfac = 1.0Cactus::cctk_itlast = 1ODESolvers::method = "RK2"TestODESolvers2::porder = 2IO::out_dir = $parfileIO::parfile_write = "no"IO::out_every = 1CarpetX::out_norm_vars = ""CarpetX::out_tsv_vars = "TestODESolvers2::errorTestODESolvers2::orderTestODESolvers2::state"
# 1:iteration 2:time 3:level 4:i 5:j 6:k 7:x 8:y 9:z 9:time_err 10:poly_err0 0.0000000000000000e+00 0 0 0 0 5.0000000000000000e-01 5.0000000000000000e-01 5.0000000000000000e-01 0.0000000000000000e+00 0.0000000000000000e+00
# 1:iteration 2:time 3:level 4:i 5:j 6:k 7:x 8:y 9:z 9:time_err 10:poly_err0 0.0000000000000000e+00 0 0 0 0 5.0000000000000000e-01 5.0000000000000000e-01 5.0000000000000000e-01 0.0000000000000000e+00 0.0000000000000000e+00
# 1:iteration 2:time 3:level 4:i 5:j 6:k 7:x 8:y 9:z 9:time_err 10:poly_err0 0.0000000000000000e+00 0 0 0 0 5.0000000000000000e-01 5.0000000000000000e-01 5.0000000000000000e-01 0.0000000000000000e+00 0.0000000000000000e+00
# 1:iteration 2:time 3:level 4:i 5:j 6:k 7:x 8:y 9:z 9:time_err 10:poly_err1 1.0000000000000000e+00 0 0 0 0 5.0000000000000000e-01 5.0000000000000000e-01 5.0000000000000000e-01 -1.1102230246251565e-16 0.0000000000000000e+00
# 1:iteration 2:time 3:level 4:i 5:j 6:k 7:x 8:y 9:z 9:time_err 10:poly_err1 1.0000000000000000e+00 0 0 0 0 5.0000000000000000e-01 5.0000000000000000e-01 5.0000000000000000e-01 -1.1102230246251565e-16 0.0000000000000000e+00
# 1:iteration 2:time 3:level 4:i 5:j 6:k 7:x 8:y 9:z 9:time_err 10:poly_err1 1.0000000000000000e+00 0 0 0 0 5.0000000000000000e-01 5.0000000000000000e-01 5.0000000000000000e-01 -1.1102230246251565e-16 0.0000000000000000e+00
# 1:iteration 2:time 3:level 4:i 5:j 6:k 7:x 8:y 9:z 9:exp_order0 0.0000000000000000e+00 0 0 0 0 5.0000000000000000e-01 5.0000000000000000e-01 5.0000000000000000e-01 0.0000000000000000e+00
# 1:iteration 2:time 3:level 4:i 5:j 6:k 7:x 8:y 9:z 9:exp_order0 0.0000000000000000e+00 0 0 0 0 5.0000000000000000e-01 5.0000000000000000e-01 5.0000000000000000e-01 0.0000000000000000e+00
# 1:iteration 2:time 3:level 4:i 5:j 6:k 7:x 8:y 9:z 9:exp_order0 0.0000000000000000e+00 0 0 0 0 5.0000000000000000e-01 5.0000000000000000e-01 5.0000000000000000e-01 0.0000000000000000e+00
# 1:iteration 2:time 3:level 4:i 5:j 6:k 7:x 8:y 9:z 9:exp_order1 1.0000000000000000e+00 0 0 0 0 5.0000000000000000e-01 5.0000000000000000e-01 5.0000000000000000e-01 3.0001038247709828e+00
# 1:iteration 2:time 3:level 4:i 5:j 6:k 7:x 8:y 9:z 9:exp_order1 1.0000000000000000e+00 0 0 0 0 5.0000000000000000e-01 5.0000000000000000e-01 5.0000000000000000e-01 3.0001038247709828e+00
# 1:iteration 2:time 3:level 4:i 5:j 6:k 7:x 8:y 9:z 9:exp_order1 1.0000000000000000e+00 0 0 0 0 5.0000000000000000e-01 5.0000000000000000e-01 5.0000000000000000e-01 3.0001038247709828e+00
# 1:iteration 2:time 3:level 4:i 5:j 6:k 7:x 8:y 9:z 9:time 10:poly 11:exp1 12:exp20 0.0000000000000000e+00 0 0 0 0 5.0000000000000000e-01 5.0000000000000000e-01 5.0000000000000000e-01 0.0000000000000000e+00 1.0000000000000000e+00 1.0000000000000000e+00 1.0000000000000000e+00
# 1:iteration 2:time 3:level 4:i 5:j 6:k 7:x 8:y 9:z 9:time 10:poly 11:exp1 12:exp20 0.0000000000000000e+00 0 0 0 0 5.0000000000000000e-01 5.0000000000000000e-01 5.0000000000000000e-01 0.0000000000000000e+00 1.0000000000000000e+00 1.0000000000000000e+00 1.0000000000000000e+00
# 1:iteration 2:time 3:level 4:i 5:j 6:k 7:x 8:y 9:z 9:time 10:poly 11:exp1 12:exp20 0.0000000000000000e+00 0 0 0 0 5.0000000000000000e-01 5.0000000000000000e-01 5.0000000000000000e-01 0.0000000000000000e+00 1.0000000000000000e+00 1.0000000000000000e+00 1.0000000000000000e+00
# 1:iteration 2:time 3:level 4:i 5:j 6:k 7:x 8:y 9:z 9:time 10:poly 11:exp1 12:exp21 1.0000000000000000e+00 0 0 0 0 5.0000000000000000e-01 5.0000000000000000e-01 5.0000000000000000e-01 9.9999999999999989e-01 8.0000000000000000e+00 2.6666666666666665e+00 1.6458333333333333e+00
# 1:iteration 2:time 3:level 4:i 5:j 6:k 7:x 8:y 9:z 9:time 10:poly 11:exp1 12:exp21 1.0000000000000000e+00 0 0 0 0 5.0000000000000000e-01 5.0000000000000000e-01 5.0000000000000000e-01 9.9999999999999989e-01 8.0000000000000000e+00 2.6666666666666665e+00 1.6458333333333333e+00
# 1:iteration 2:time 3:level 4:i 5:j 6:k 7:x 8:y 9:z 9:time 10:poly 11:exp1 12:exp21 1.0000000000000000e+00 0 0 0 0 5.0000000000000000e-01 5.0000000000000000e-01 5.0000000000000000e-01 9.9999999999999989e-01 8.0000000000000000e+00 2.6666666666666665e+00 1.6458333333333333e+00
ActiveThorns = "CarpetXIOUtilODESolversTestODESolvers2"Cactus::presync_mode = "mixed-error"CarpetX::xmin = 0CarpetX::ymin = 0CarpetX::zmin = 0CarpetX::xmax = 1CarpetX::ymax = 1CarpetX::zmax = 1CarpetX::ncells_x = 1CarpetX::ncells_y = 1CarpetX::ncells_z = 1CarpetX::blocking_factor_x = 1CarpetX::blocking_factor_y = 1CarpetX::blocking_factor_z = 1CarpetX::ghost_size = 0CarpetX::dtfac = 1.0Cactus::cctk_itlast = 1ODESolvers::method = "RK3"TestODESolvers2::porder = 3IO::out_dir = $parfileIO::parfile_write = "no"IO::out_every = 1CarpetX::out_norm_vars = ""CarpetX::out_tsv_vars = "TestODESolvers2::errorTestODESolvers2::orderTestODESolvers2::state"
# 1:iteration 2:time 3:level 4:i 5:j 6:k 7:x 8:y 9:z 9:time_err 10:poly_err0 0.0000000000000000e+00 0 0 0 0 5.0000000000000000e-01 5.0000000000000000e-01 5.0000000000000000e-01 0.0000000000000000e+00 0.0000000000000000e+00
# 1:iteration 2:time 3:level 4:i 5:j 6:k 7:x 8:y 9:z 9:time_err 10:poly_err0 0.0000000000000000e+00 0 0 0 0 5.0000000000000000e-01 5.0000000000000000e-01 5.0000000000000000e-01 0.0000000000000000e+00 0.0000000000000000e+00
# 1:iteration 2:time 3:level 4:i 5:j 6:k 7:x 8:y 9:z 9:time_err 10:poly_err0 0.0000000000000000e+00 0 0 0 0 5.0000000000000000e-01 5.0000000000000000e-01 5.0000000000000000e-01 0.0000000000000000e+00 0.0000000000000000e+00
# 1:iteration 2:time 3:level 4:i 5:j 6:k 7:x 8:y 9:z 9:time_err 10:poly_err1 1.0000000000000000e+00 0 0 0 0 5.0000000000000000e-01 5.0000000000000000e-01 5.0000000000000000e-01 -1.1102230246251565e-16 0.0000000000000000e+00
# 1:iteration 2:time 3:level 4:i 5:j 6:k 7:x 8:y 9:z 9:time_err 10:poly_err1 1.0000000000000000e+00 0 0 0 0 5.0000000000000000e-01 5.0000000000000000e-01 5.0000000000000000e-01 -1.1102230246251565e-16 0.0000000000000000e+00
# 1:iteration 2:time 3:level 4:i 5:j 6:k 7:x 8:y 9:z 9:time_err 10:poly_err1 1.0000000000000000e+00 0 0 0 0 5.0000000000000000e-01 5.0000000000000000e-01 5.0000000000000000e-01 -1.1102230246251565e-16 0.0000000000000000e+00
# 1:iteration 2:time 3:level 4:i 5:j 6:k 7:x 8:y 9:z 9:exp_order0 0.0000000000000000e+00 0 0 0 0 5.0000000000000000e-01 5.0000000000000000e-01 5.0000000000000000e-01 0.0000000000000000e+00
# 1:iteration 2:time 3:level 4:i 5:j 6:k 7:x 8:y 9:z 9:exp_order0 0.0000000000000000e+00 0 0 0 0 5.0000000000000000e-01 5.0000000000000000e-01 5.0000000000000000e-01 0.0000000000000000e+00
# 1:iteration 2:time 3:level 4:i 5:j 6:k 7:x 8:y 9:z 9:exp_order0 0.0000000000000000e+00 0 0 0 0 5.0000000000000000e-01 5.0000000000000000e-01 5.0000000000000000e-01 0.0000000000000000e+00
# 1:iteration 2:time 3:level 4:i 5:j 6:k 7:x 8:y 9:z 9:exp_order1 1.0000000000000000e+00 0 0 0 0 5.0000000000000000e-01 5.0000000000000000e-01 5.0000000000000000e-01 4.0000052135571105e+00
# 1:iteration 2:time 3:level 4:i 5:j 6:k 7:x 8:y 9:z 9:exp_order1 1.0000000000000000e+00 0 0 0 0 5.0000000000000000e-01 5.0000000000000000e-01 5.0000000000000000e-01 4.0000052135571105e+00
# 1:iteration 2:time 3:level 4:i 5:j 6:k 7:x 8:y 9:z 9:exp_order1 1.0000000000000000e+00 0 0 0 0 5.0000000000000000e-01 5.0000000000000000e-01 5.0000000000000000e-01 4.0000052135571105e+00
# 1:iteration 2:time 3:level 4:i 5:j 6:k 7:x 8:y 9:z 9:time 10:poly 11:exp1 12:exp20 0.0000000000000000e+00 0 0 0 0 5.0000000000000000e-01 5.0000000000000000e-01 5.0000000000000000e-01 0.0000000000000000e+00 1.0000000000000000e+00 1.0000000000000000e+00 1.0000000000000000e+00
# 1:iteration 2:time 3:level 4:i 5:j 6:k 7:x 8:y 9:z 9:time 10:poly 11:exp1 12:exp20 0.0000000000000000e+00 0 0 0 0 5.0000000000000000e-01 5.0000000000000000e-01 5.0000000000000000e-01 0.0000000000000000e+00 1.0000000000000000e+00 1.0000000000000000e+00 1.0000000000000000e+00
# 1:iteration 2:time 3:level 4:i 5:j 6:k 7:x 8:y 9:z 9:time 10:poly 11:exp1 12:exp20 0.0000000000000000e+00 0 0 0 0 5.0000000000000000e-01 5.0000000000000000e-01 5.0000000000000000e-01 0.0000000000000000e+00 1.0000000000000000e+00 1.0000000000000000e+00 1.0000000000000000e+00
# 1:iteration 2:time 3:level 4:i 5:j 6:k 7:x 8:y 9:z 9:time 10:poly 11:exp1 12:exp21 1.0000000000000000e+00 0 0 0 0 5.0000000000000000e-01 5.0000000000000000e-01 5.0000000000000000e-01 9.9999999999999989e-01 1.6000000000000000e+01 2.7083333333333335e+00 1.6484374999999998e+00
# 1:iteration 2:time 3:level 4:i 5:j 6:k 7:x 8:y 9:z 9:time 10:poly 11:exp1 12:exp21 1.0000000000000000e+00 0 0 0 0 5.0000000000000000e-01 5.0000000000000000e-01 5.0000000000000000e-01 9.9999999999999989e-01 1.6000000000000000e+01 2.7083333333333335e+00 1.6484374999999998e+00
# 1:iteration 2:time 3:level 4:i 5:j 6:k 7:x 8:y 9:z 9:time 10:poly 11:exp1 12:exp21 1.0000000000000000e+00 0 0 0 0 5.0000000000000000e-01 5.0000000000000000e-01 5.0000000000000000e-01 9.9999999999999989e-01 1.6000000000000000e+01 2.7083333333333335e+00 1.6484374999999998e+00
ActiveThorns = "CarpetXIOUtilODESolversTestODESolvers2"Cactus::presync_mode = "mixed-error"CarpetX::xmin = 0CarpetX::ymin = 0CarpetX::zmin = 0CarpetX::xmax = 1CarpetX::ymax = 1CarpetX::zmax = 1CarpetX::ncells_x = 1CarpetX::ncells_y = 1CarpetX::ncells_z = 1CarpetX::blocking_factor_x = 1CarpetX::blocking_factor_y = 1CarpetX::blocking_factor_z = 1CarpetX::ghost_size = 0CarpetX::dtfac = 1.0Cactus::cctk_itlast = 1ODESolvers::method = "RK4"TestODESolvers2::porder = 4IO::out_dir = $parfileIO::parfile_write = "no"IO::out_every = 1CarpetX::out_norm_vars = ""CarpetX::out_tsv_vars = "TestODESolvers2::errorTestODESolvers2::orderTestODESolvers2::state"
# 1:iteration 2:time 3:level 4:i 5:j 6:k 7:x 8:y 9:z 9:time_err 10:poly_err0 0.0000000000000000e+00 0 0 0 0 5.0000000000000000e-01 5.0000000000000000e-01 5.0000000000000000e-01 0.0000000000000000e+00 0.0000000000000000e+00
# 1:iteration 2:time 3:level 4:i 5:j 6:k 7:x 8:y 9:z 9:time_err 10:poly_err0 0.0000000000000000e+00 0 0 0 0 5.0000000000000000e-01 5.0000000000000000e-01 5.0000000000000000e-01 0.0000000000000000e+00 0.0000000000000000e+00
# 1:iteration 2:time 3:level 4:i 5:j 6:k 7:x 8:y 9:z 9:time_err 10:poly_err0 0.0000000000000000e+00 0 0 0 0 5.0000000000000000e-01 5.0000000000000000e-01 5.0000000000000000e-01 0.0000000000000000e+00 0.0000000000000000e+00
# 1:iteration 2:time 3:level 4:i 5:j 6:k 7:x 8:y 9:z 9:time_err 10:poly_err1 1.0000000000000000e+00 0 0 0 0 5.0000000000000000e-01 5.0000000000000000e-01 5.0000000000000000e-01 0.0000000000000000e+00 2.8421709430404007e-14
# 1:iteration 2:time 3:level 4:i 5:j 6:k 7:x 8:y 9:z 9:time_err 10:poly_err1 1.0000000000000000e+00 0 0 0 0 5.0000000000000000e-01 5.0000000000000000e-01 5.0000000000000000e-01 0.0000000000000000e+00 2.8421709430404007e-14
# 1:iteration 2:time 3:level 4:i 5:j 6:k 7:x 8:y 9:z 9:time_err 10:poly_err1 1.0000000000000000e+00 0 0 0 0 5.0000000000000000e-01 5.0000000000000000e-01 5.0000000000000000e-01 0.0000000000000000e+00 2.8421709430404007e-14
# 1:iteration 2:time 3:level 4:i 5:j 6:k 7:x 8:y 9:z 9:exp_order0 0.0000000000000000e+00 0 0 0 0 5.0000000000000000e-01 5.0000000000000000e-01 5.0000000000000000e-01 0.0000000000000000e+00
# 1:iteration 2:time 3:level 4:i 5:j 6:k 7:x 8:y 9:z 9:exp_order0 0.0000000000000000e+00 0 0 0 0 5.0000000000000000e-01 5.0000000000000000e-01 5.0000000000000000e-01 0.0000000000000000e+00
# 1:iteration 2:time 3:level 4:i 5:j 6:k 7:x 8:y 9:z 9:exp_order0 0.0000000000000000e+00 0 0 0 0 5.0000000000000000e-01 5.0000000000000000e-01 5.0000000000000000e-01 0.0000000000000000e+00
# 1:iteration 2:time 3:level 4:i 5:j 6:k 7:x 8:y 9:z 9:exp_order1 1.0000000000000000e+00 0 0 0 0 5.0000000000000000e-01 5.0000000000000000e-01 5.0000000000000000e-01 7.0000150805496366e+00
# 1:iteration 2:time 3:level 4:i 5:j 6:k 7:x 8:y 9:z 9:exp_order1 1.0000000000000000e+00 0 0 0 0 5.0000000000000000e-01 5.0000000000000000e-01 5.0000000000000000e-01 7.0000150805496366e+00
# 1:iteration 2:time 3:level 4:i 5:j 6:k 7:x 8:y 9:z 9:exp_order1 1.0000000000000000e+00 0 0 0 0 5.0000000000000000e-01 5.0000000000000000e-01 5.0000000000000000e-01 7.0000150805496366e+00
# 1:iteration 2:time 3:level 4:i 5:j 6:k 7:x 8:y 9:z 9:time 10:poly 11:exp1 12:exp20 0.0000000000000000e+00 0 0 0 0 5.0000000000000000e-01 5.0000000000000000e-01 5.0000000000000000e-01 0.0000000000000000e+00 1.0000000000000000e+00 1.0000000000000000e+00 1.0000000000000000e+00
# 1:iteration 2:time 3:level 4:i 5:j 6:k 7:x 8:y 9:z 9:time 10:poly 11:exp1 12:exp20 0.0000000000000000e+00 0 0 0 0 5.0000000000000000e-01 5.0000000000000000e-01 5.0000000000000000e-01 0.0000000000000000e+00 1.0000000000000000e+00 1.0000000000000000e+00 1.0000000000000000e+00
# 1:iteration 2:time 3:level 4:i 5:j 6:k 7:x 8:y 9:z 9:time 10:poly 11:exp1 12:exp20 0.0000000000000000e+00 0 0 0 0 5.0000000000000000e-01 5.0000000000000000e-01 5.0000000000000000e-01 0.0000000000000000e+00 1.0000000000000000e+00 1.0000000000000000e+00 1.0000000000000000e+00
# 1:iteration 2:time 3:level 4:i 5:j 6:k 7:x 8:y 9:z 9:time 10:poly 11:exp1 12:exp21 1.0000000000000000e+00 0 0 0 0 5.0000000000000000e-01 5.0000000000000000e-01 5.0000000000000000e-01 1.0000000000000000e+00 1.2800000000000003e+02 2.7182795094076351e+00 1.6487212632973474e+00
# 1:iteration 2:time 3:level 4:i 5:j 6:k 7:x 8:y 9:z 9:time 10:poly 11:exp1 12:exp21 1.0000000000000000e+00 0 0 0 0 5.0000000000000000e-01 5.0000000000000000e-01 5.0000000000000000e-01 1.0000000000000000e+00 1.2800000000000003e+02 2.7182795094076351e+00 1.6487212632973474e+00
# 1:iteration 2:time 3:level 4:i 5:j 6:k 7:x 8:y 9:z 9:time 10:poly 11:exp1 12:exp21 1.0000000000000000e+00 0 0 0 0 5.0000000000000000e-01 5.0000000000000000e-01 5.0000000000000000e-01 1.0000000000000000e+00 1.2800000000000003e+02 2.7182795094076351e+00 1.6487212632973474e+00
ActiveThorns = "CarpetXIOUtilODESolversTestODESolvers2"Cactus::presync_mode = "mixed-error"CarpetX::xmin = 0CarpetX::ymin = 0CarpetX::zmin = 0CarpetX::xmax = 1CarpetX::ymax = 1CarpetX::zmax = 1CarpetX::ncells_x = 1CarpetX::ncells_y = 1CarpetX::ncells_z = 1CarpetX::blocking_factor_x = 1CarpetX::blocking_factor_y = 1CarpetX::blocking_factor_z = 1CarpetX::ghost_size = 0CarpetX::dtfac = 1.0Cactus::cctk_itlast = 1ODESolvers::method = "RKF78"TestODESolvers2::porder = 7IO::out_dir = $parfileIO::parfile_write = "no"IO::out_every = 1CarpetX::out_norm_vars = ""CarpetX::out_tsv_vars = "TestODESolvers2::errorTestODESolvers2::orderTestODESolvers2::state"
# 1:iteration 2:time 3:level 4:i 5:j 6:k 7:x 8:y 9:z 9:time_err 10:poly_err0 0.0000000000000000e+00 0 0 0 0 5.0000000000000000e-01 5.0000000000000000e-01 5.0000000000000000e-01 0.0000000000000000e+00 0.0000000000000000e+00
# 1:iteration 2:time 3:level 4:i 5:j 6:k 7:x 8:y 9:z 9:time_err 10:poly_err0 0.0000000000000000e+00 0 0 0 0 5.0000000000000000e-01 5.0000000000000000e-01 5.0000000000000000e-01 0.0000000000000000e+00 0.0000000000000000e+00
# 1:iteration 2:time 3:level 4:i 5:j 6:k 7:x 8:y 9:z 9:time_err 10:poly_err0 0.0000000000000000e+00 0 0 0 0 5.0000000000000000e-01 5.0000000000000000e-01 5.0000000000000000e-01 0.0000000000000000e+00 0.0000000000000000e+00
# 1:iteration 2:time 3:level 4:i 5:j 6:k 7:x 8:y 9:z 9:time_err 10:poly_err1 1.0000000000000000e+00 0 0 0 0 5.0000000000000000e-01 5.0000000000000000e-01 5.0000000000000000e-01 0.0000000000000000e+00 0.0000000000000000e+00
# 1:iteration 2:time 3:level 4:i 5:j 6:k 7:x 8:y 9:z 9:time_err 10:poly_err1 1.0000000000000000e+00 0 0 0 0 5.0000000000000000e-01 5.0000000000000000e-01 5.0000000000000000e-01 0.0000000000000000e+00 0.0000000000000000e+00
# 1:iteration 2:time 3:level 4:i 5:j 6:k 7:x 8:y 9:z 9:time_err 10:poly_err1 1.0000000000000000e+00 0 0 0 0 5.0000000000000000e-01 5.0000000000000000e-01 5.0000000000000000e-01 0.0000000000000000e+00 0.0000000000000000e+00
# 1:iteration 2:time 3:level 4:i 5:j 6:k 7:x 8:y 9:z 9:exp_order0 0.0000000000000000e+00 0 0 0 0 5.0000000000000000e-01 5.0000000000000000e-01 5.0000000000000000e-01 0.0000000000000000e+00
# 1:iteration 2:time 3:level 4:i 5:j 6:k 7:x 8:y 9:z 9:exp_order0 0.0000000000000000e+00 0 0 0 0 5.0000000000000000e-01 5.0000000000000000e-01 5.0000000000000000e-01 0.0000000000000000e+00
# 1:iteration 2:time 3:level 4:i 5:j 6:k 7:x 8:y 9:z 9:exp_order0 0.0000000000000000e+00 0 0 0 0 5.0000000000000000e-01 5.0000000000000000e-01 5.0000000000000000e-01 0.0000000000000000e+00
# 1:iteration 2:time 3:level 4:i 5:j 6:k 7:x 8:y 9:z 9:exp_order1 1.0000000000000000e+00 0 0 0 0 5.0000000000000000e-01 5.0000000000000000e-01 5.0000000000000000e-01 3.0001038247709828e+00
# 1:iteration 2:time 3:level 4:i 5:j 6:k 7:x 8:y 9:z 9:exp_order1 1.0000000000000000e+00 0 0 0 0 5.0000000000000000e-01 5.0000000000000000e-01 5.0000000000000000e-01 3.0001038247709828e+00
# 1:iteration 2:time 3:level 4:i 5:j 6:k 7:x 8:y 9:z 9:exp_order1 1.0000000000000000e+00 0 0 0 0 5.0000000000000000e-01 5.0000000000000000e-01 5.0000000000000000e-01 3.0001038247709828e+00
# 1:iteration 2:time 3:level 4:i 5:j 6:k 7:x 8:y 9:z 9:time 10:poly 11:exp1 12:exp20 0.0000000000000000e+00 0 0 0 0 5.0000000000000000e-01 5.0000000000000000e-01 5.0000000000000000e-01 0.0000000000000000e+00 1.0000000000000000e+00 1.0000000000000000e+00 1.0000000000000000e+00
# 1:iteration 2:time 3:level 4:i 5:j 6:k 7:x 8:y 9:z 9:time 10:poly 11:exp1 12:exp20 0.0000000000000000e+00 0 0 0 0 5.0000000000000000e-01 5.0000000000000000e-01 5.0000000000000000e-01 0.0000000000000000e+00 1.0000000000000000e+00 1.0000000000000000e+00 1.0000000000000000e+00
# 1:iteration 2:time 3:level 4:i 5:j 6:k 7:x 8:y 9:z 9:time 10:poly 11:exp1 12:exp20 0.0000000000000000e+00 0 0 0 0 5.0000000000000000e-01 5.0000000000000000e-01 5.0000000000000000e-01 0.0000000000000000e+00 1.0000000000000000e+00 1.0000000000000000e+00 1.0000000000000000e+00
# 1:iteration 2:time 3:level 4:i 5:j 6:k 7:x 8:y 9:z 9:time 10:poly 11:exp1 12:exp21 1.0000000000000000e+00 0 0 0 0 5.0000000000000000e-01 5.0000000000000000e-01 5.0000000000000000e-01 1.0000000000000000e+00 8.0000000000000000e+00 2.6666666666666665e+00 1.6458333333333333e+00
# 1:iteration 2:time 3:level 4:i 5:j 6:k 7:x 8:y 9:z 9:time 10:poly 11:exp1 12:exp21 1.0000000000000000e+00 0 0 0 0 5.0000000000000000e-01 5.0000000000000000e-01 5.0000000000000000e-01 1.0000000000000000e+00 8.0000000000000000e+00 2.6666666666666665e+00 1.6458333333333333e+00
# 1:iteration 2:time 3:level 4:i 5:j 6:k 7:x 8:y 9:z 9:time 10:poly 11:exp1 12:exp21 1.0000000000000000e+00 0 0 0 0 5.0000000000000000e-01 5.0000000000000000e-01 5.0000000000000000e-01 1.0000000000000000e+00 8.0000000000000000e+00 2.6666666666666665e+00 1.6458333333333333e+00
ActiveThorns = "CarpetXIOUtilODESolversTestODESolvers2"Cactus::presync_mode = "mixed-error"CarpetX::xmin = 0CarpetX::ymin = 0CarpetX::zmin = 0CarpetX::xmax = 1CarpetX::ymax = 1CarpetX::zmax = 1CarpetX::ncells_x = 1CarpetX::ncells_y = 1CarpetX::ncells_z = 1CarpetX::blocking_factor_x = 1CarpetX::blocking_factor_y = 1CarpetX::blocking_factor_z = 1CarpetX::ghost_size = 0CarpetX::dtfac = 1.0Cactus::cctk_itlast = 1ODESolvers::method = "SSPRK3"TestODESolvers2::porder = 3IO::out_dir = $parfileIO::parfile_write = "no"IO::out_every = 1CarpetX::out_norm_vars = ""CarpetX::out_tsv_vars = "TestODESolvers2::errorTestODESolvers2::orderTestODESolvers2::state"
TEST test-dp87{ABSTOL 1.0e-11}
#!/usr/bin/perluse strict;use warnings;my %methods = ("constant" => {"order" => 0},"Euler" => {"order" => 1},"RK2" => {"order" => 2},"RK3" => {"order" => 3},"SSPRK3" => {"order" => 3},"RK4" => {"order" => 4},"RKF78" => {"order" => 7},"DP87" => {"order" => 8},# "IMEX-SSP2-222" => {"order" => 3},# "IMEX-SSP2-322" => {"order" => 3},# "IMEX-SSP2-332" => {"order" => 3},# "IMEX-SSP3-332" => {"order" => 3},# "IMEX-SSP3-433" => {"order" => 3},);for my $method (keys %methods) {my $lines = <<EOF;ActiveThorns = "CarpetXIOUtilODESolversTestODESolvers2"Cactus::presync_mode = "mixed-error"CarpetX::xmin = 0CarpetX::ymin = 0CarpetX::zmin = 0CarpetX::xmax = 1CarpetX::ymax = 1CarpetX::zmax = 1CarpetX::ncells_x = 1CarpetX::ncells_y = 1CarpetX::ncells_z = 1CarpetX::blocking_factor_x = 1CarpetX::blocking_factor_y = 1CarpetX::blocking_factor_z = 1CarpetX::ghost_size = 0CarpetX::dtfac = 1.0Cactus::cctk_itlast = 1ODESolvers::method = "$method"TestODESolvers2::porder = $methods{$method}->{order}IO::out_dir = \$parfileIO::parfile_write = "no"IO::out_every = 1CarpetX::out_norm_vars = ""CarpetX::out_tsv_vars = "TestODESolvers2::errorTestODESolvers2::orderTestODESolvers2::state"EOFmy $fn = "test-$method.par";open (my $fh, ">", $fn) or die "Could not open '$fn': $!";print $fh $lines;close $fh or die "Could not write to '$fn': $!";}