From 52623f3bd00400c208bfb6af7959647b123eff9b Mon Sep 17 00:00:00 2001 From: Erik Schnetter Date: Wed, 31 Jul 2024 10:27:42 -0400 Subject: [PATCH 01/13] ODESolvers: Solve only in the interior --- ODESolvers/src/solve.cxx | 85 +++++++++++++++++++++------------------- 1 file changed, 45 insertions(+), 40 deletions(-) diff --git a/ODESolvers/src/solve.cxx b/ODESolvers/src/solve.cxx index acec6329a..6baf741e9 100644 --- a/ODESolvers/src/solve.cxx +++ b/ODESolvers/src/solve.cxx @@ -91,7 +91,8 @@ struct statecomp_t { template static void combine_valids(const statecomp_t &dst, const CCTK_REAL scale, const array &factors, - const array &srcs); + const array &srcs, + const valid_t where); void check_valid(const valid_t required, const function &why) const; void check_valid(const valid_t required, const string &why) const { check_valid(required, [=]() { return why; }); @@ -189,7 +190,8 @@ void statecomp_t::set_valid(const valid_t valid) const { template void statecomp_t::combine_valids(const statecomp_t &dst, const CCTK_REAL scale, const array &factors, - const array &srcs) { + const array &srcs, + const valid_t where) { const int ngroups = dst.groupdatas.size(); for (const auto &src : srcs) assert(int(src->groupdatas.size()) == ngroups); @@ -207,7 +209,7 @@ void statecomp_t::combine_valids(const statecomp_t &dst, const CCTK_REAL scale, const int nvars = dstgroup->numvars; const int tl = 0; for (int vi = 0; vi < nvars; ++vi) { - valid_t valid = valid_t(true); + valid_t valid = where; bool did_set_valid = false; if (scale != 0) { valid &= dstgroup->valid.at(tl).at(vi).get(); @@ -255,26 +257,29 @@ statecomp_t statecomp_t::copy(const valid_t where) const { result.mfabs.reserve(size); for (size_t n = 0; n < size; ++n) { const auto groupdata = groupdatas.at(n); -#ifdef CCTK_DEBUG - const auto &x = mfabs.at(n); - if (x->contains_nan()) - CCTK_VERROR("statecomp_t::copy.x: Group %s contains nans", - groupdata->groupname.c_str()); -#endif + // This global nan-check doesn't work since we don't care about the + // boundaries + // #ifdef CCTK_DEBUG + // const auto &x = mfabs.at(n); + // if (x->contains_nan()) + // CCTK_VERROR("statecomp_t::copy.x: Group %s contains nans", + // groupdata->groupname.c_str()); + // #endif auto y = groupdata->alloc_tmp_mfab(); result.groupdatas.push_back(groupdata); result.mfabs.push_back(y); } lincomb(result, 0, make_array(CCTK_REAL(1)), make_array(this), where); -#ifdef CCTK_DEBUG - for (size_t n = 0; n < size; ++n) { - const auto groupdata = result.groupdatas.at(n); - const auto &y = result.mfabs.at(n); - if (y->contains_nan()) - CCTK_VERROR("statecomp_t::copy.y: Group %s contains nans", - groupdata->groupname.c_str()); - } -#endif + // This global nan-check doesn't work since we don't care about the boundaries + // #ifdef CCTK_DEBUG + // for (size_t n = 0; n < size; ++n) { + // const auto groupdata = result.groupdatas.at(n); + // const auto &y = result.mfabs.at(n); + // if (y->contains_nan()) + // CCTK_VERROR("statecomp_t::copy.y: Group %s contains nans", + // groupdata->groupname.c_str()); + // } + // #endif return result; } @@ -300,7 +305,7 @@ void statecomp_t::lincomb(const statecomp_t &dst, const CCTK_REAL scale, for (size_t n = 0; n < N; ++n) assert(isfinite(factors[n])); - statecomp_t::combine_valids(dst, scale, factors, srcs); + statecomp_t::combine_valids(dst, scale, factors, srcs, where); #ifndef AMREX_USE_GPU vector > tasks; @@ -746,8 +751,8 @@ extern "C" void ODESolvers_Solve(CCTK_ARGUMENTS) { static Timer timer_rhs("ODESolvers::Solve::rhs"); static Timer timer_poststep("ODESolvers::Solve::poststep"); - const auto copy_state = [](const auto &var) { - return var.copy(make_valid_int()); + const auto copy_state = [](const auto &var, const valid_t where) { + return var.copy(where); }; const auto calcrhs = [&](const int n) { Interval interval_rhs(timer_rhs); @@ -801,7 +806,7 @@ extern "C" void ODESolvers_Solve(CCTK_ARGUMENTS) { // k2 = f(y0 + h/2 k1) // y1 = y0 + h k2 - const auto old = copy_state(var); + const auto old = copy_state(var, make_valid_all()); calcrhs(1); calcupdate(1, dt / 2, 1.0, reals<1>{dt / 2}, states<1>{&rhs}); @@ -816,14 +821,14 @@ extern "C" void ODESolvers_Solve(CCTK_ARGUMENTS) { // k3 = f(y0 - h k1 + 2 h k2) // y1 = y0 + h/6 k1 + 2/3 h k2 + h/6 k3 - const auto old = copy_state(var); + const auto old = copy_state(var, make_valid_all()); calcrhs(1); - const auto k1 = copy_state(rhs); + const auto k1 = copy_state(rhs, make_valid_int()); calcupdate(1, dt / 2, 1.0, reals<1>{dt / 2}, states<1>{&k1}); calcrhs(2); - const auto k2 = copy_state(rhs); + const auto k2 = copy_state(rhs, make_valid_int()); calcupdate(2, dt, 0.0, reals<3>{1.0, -dt, 2 * dt}, states<3>{&old, &k1, &k2}); @@ -838,14 +843,14 @@ extern "C" void ODESolvers_Solve(CCTK_ARGUMENTS) { // k3 = f(y0 + h/4 k1 + h/4 k2) // y1 = y0 + h/6 k1 + h/6 k2 + 2/3 h k3 - const auto old = copy_state(var); + const auto old = copy_state(var, make_valid_all()); calcrhs(1); - const auto k1 = copy_state(rhs); + const auto k1 = copy_state(rhs, make_valid_int()); calcupdate(1, dt, 1.0, reals<1>{dt}, states<1>{&k1}); calcrhs(2); - const auto k2 = copy_state(rhs); + const auto k2 = copy_state(rhs, make_valid_int()); calcupdate(2, dt / 2, 0.0, reals<3>{1.0, dt / 4, dt / 4}, states<3>{&old, &k1, &k2}); @@ -861,10 +866,10 @@ extern "C" void ODESolvers_Solve(CCTK_ARGUMENTS) { // k4 = f(y0 + h k3) // y1 = y0 + h/6 k1 + h/3 k2 + h/3 k3 + h/6 k4 - const auto old = copy_state(var); + const auto old = copy_state(var, make_valid_all()); calcrhs(1); - const auto kaccum = copy_state(rhs); + const auto kaccum = copy_state(rhs, make_valid_int()); calcupdate(1, dt / 2, 1.0, reals<1>{dt / 2}, states<1>{&kaccum}); calcrhs(2); @@ -948,15 +953,15 @@ extern "C" void ODESolvers_Solve(CCTK_ARGUMENTS) { assert(fabs(x - 1) <= 10 * numeric_limits::epsilon()); } - const auto old = copy_state(var); + const auto old = copy_state(var, make_valid_all()); vector ks; ks.reserve(nsteps); for (size_t step = 0; step < nsteps; ++step) { // Skip the first state vector calculation, it is always trivial if (step > 0) { - const auto &c = get<0>(get<0>(tableau).at(step)); - const auto &as = get<1>(get<0>(tableau).at(step)); + const auto &c = get<0>(get<0>(tableau).at(step)); + const auto &as = get<1>(get<0>(tableau).at(step)); // Add scaled RHS to state vector vector factors; @@ -976,7 +981,7 @@ extern "C" void ODESolvers_Solve(CCTK_ARGUMENTS) { } calcrhs(step + 1); - ks.push_back(copy_state(rhs)); + ks.push_back(copy_state(rhs, make_valid_int())); } // Calculate new state vector @@ -1058,17 +1063,17 @@ extern "C" void ODESolvers_Solve(CCTK_ARGUMENTS) { assert(fabs(x - 1) <= 10 * numeric_limits::epsilon()); } - const auto old = copy_state(var); + const auto old = copy_state(var, make_valid_all()); vector ks; ks.reserve(nsteps); for (size_t step = 0; step < nsteps; ++step) { // Skip the first state vector calculation, it is always trivial if (step > 0) { - const auto &as = get<0>(tableau).at(step); - T c = 0; - for (const auto &a : as) - c += a; + const auto &as = get<0>(tableau).at(step); + T c = 0; + for (const auto &a : as) + c += a; // Add scaled RHS to state vector vector factors; @@ -1088,7 +1093,7 @@ extern "C" void ODESolvers_Solve(CCTK_ARGUMENTS) { } calcrhs(step + 1); - ks.push_back(copy_state(rhs)); + ks.push_back(copy_state(rhs, make_valid_int())); } // Calculate new state vector From c44eb177096a1a746d20173f64c0896e01d9292d Mon Sep 17 00:00:00 2001 From: Erik Schnetter Date: Thu, 1 Aug 2024 10:52:18 -0400 Subject: [PATCH 02/13] FluxWaveToyX: Apply boundary conditions explicitly --- FluxWaveToyX/schedule.ccl | 21 +++++++++++++-------- FluxWaveToyX/src/fluxwavetoyx.cxx | 7 +++++++ 2 files changed, 20 insertions(+), 8 deletions(-) diff --git a/FluxWaveToyX/schedule.ccl b/FluxWaveToyX/schedule.ccl index fbed1255f..ea73e024b 100644 --- a/FluxWaveToyX/schedule.ccl +++ b/FluxWaveToyX/schedule.ccl @@ -6,7 +6,6 @@ SCHEDULE FluxWaveToyX_Initial AT initial { LANG: C WRITES: state(interior) - SYNC: state } "Initialize scalar wave state" SCHEDULE FluxWaveToyX_Fluxes IN ODESolvers_RHS @@ -24,15 +23,21 @@ SCHEDULE FluxWaveToyX_Fluxes IN ODESolvers_RHS SCHEDULE FluxWaveToyX_RHS IN ODESolvers_RHS AFTER FluxWaveToyX_Fluxes { LANG: C - READS: state(everywhere) - READS: flux_x(everywhere) - READS: flux_y(everywhere) - READS: flux_z(everywhere) + READS: state(interior) + READS: flux_x(interior) + READS: flux_y(interior) + READS: flux_z(interior) WRITES: rhs(interior) - SYNC: rhs } "Calculate scalar wave RHS" -SCHEDULE FluxWaveToyX_Constraints IN ODESolvers_PostStep +SCHEDULE FluxWaveToyX_Boundaries IN ODESolvers_PostStep +{ + LANG: C + OPTIONS: level + SYNC: state +} "Apply boundary conditions" + +SCHEDULE FluxWaveToyX_Constraints IN ODESolvers_PostStep AFTER FluxWaveToyX_Boundaries { LANG: C READS: state(everywhere) @@ -40,7 +45,7 @@ SCHEDULE FluxWaveToyX_Constraints IN ODESolvers_PostStep SYNC: cons } "Calculate scalar wave constraints" -SCHEDULE FluxWaveToyX_Energy IN ODESolvers_PostStep +SCHEDULE FluxWaveToyX_Energy IN ODESolvers_PostStep AFTER FluxWaveToyX_Boundaries { LANG: C READS: state(everywhere) diff --git a/FluxWaveToyX/src/fluxwavetoyx.cxx b/FluxWaveToyX/src/fluxwavetoyx.cxx index 75e7d174d..47f428d8a 100644 --- a/FluxWaveToyX/src/fluxwavetoyx.cxx +++ b/FluxWaveToyX/src/fluxwavetoyx.cxx @@ -250,6 +250,13 @@ extern "C" void FluxWaveToyX_RHS(CCTK_ARGUMENTS) { }); } +extern "C" void FluxWaveToyX_Boundaries(CCTK_ARGUMENTS) { + DECLARE_CCTK_ARGUMENTSX_FluxWaveToyX_Boundaries; + DECLARE_CCTK_PARAMETERS; + + // Do nothing +} + extern "C" void FluxWaveToyX_Constraints(CCTK_ARGUMENTS) { DECLARE_CCTK_ARGUMENTSX_FluxWaveToyX_Constraints; From 92263a92ed9c55b437191ed10d4092ce83d6ebf7 Mon Sep 17 00:00:00 2001 From: Erik Schnetter Date: Thu, 1 Aug 2024 10:52:45 -0400 Subject: [PATCH 03/13] SIMDWaveToyX: Apply boundary conditions explicitly --- SIMDWaveToyX/schedule.ccl | 11 ++++++++--- SIMDWaveToyX/src/simdwavetoyx.cxx | 7 +++++++ 2 files changed, 15 insertions(+), 3 deletions(-) diff --git a/SIMDWaveToyX/schedule.ccl b/SIMDWaveToyX/schedule.ccl index 18695d153..162ae855b 100644 --- a/SIMDWaveToyX/schedule.ccl +++ b/SIMDWaveToyX/schedule.ccl @@ -6,7 +6,6 @@ SCHEDULE SIMDWaveToyX_Initial AT initial { LANG: C WRITES: state(interior) - SYNC: state } "Initialize scalar wave state" SCHEDULE SIMDWaveToyX_RHS IN ODESolvers_RHS @@ -14,10 +13,16 @@ SCHEDULE SIMDWaveToyX_RHS IN ODESolvers_RHS LANG: C READS: state(everywhere) WRITES: rhs(interior) - SYNC: rhs } "Calculate scalar wave RHS" -SCHEDULE SIMDWaveToyX_Energy IN ODESolvers_PostStep +SCHEDULE SIMDWaveToyX_Boundaries IN ODESolvers_PostStep +{ + LANG: C + OPTIONS: level + SYNC: state +} "Apply boundary conditions" + +SCHEDULE SIMDWaveToyX_Energy IN ODESolvers_PostStep AFTER SIMDWaveToyX_Boundaries { LANG: C READS: state(everywhere) diff --git a/SIMDWaveToyX/src/simdwavetoyx.cxx b/SIMDWaveToyX/src/simdwavetoyx.cxx index 66f5a5efa..58f0cd05c 100644 --- a/SIMDWaveToyX/src/simdwavetoyx.cxx +++ b/SIMDWaveToyX/src/simdwavetoyx.cxx @@ -122,6 +122,13 @@ extern "C" void SIMDWaveToyX_RHS(CCTK_ARGUMENTS) { }); } +extern "C" void SIMDWaveToyX_Boundaries(CCTK_ARGUMENTS) { + DECLARE_CCTK_ARGUMENTSX_SIMDWaveToyX_Boundaries; + DECLARE_CCTK_PARAMETERS; + + // Do nothing +} + extern "C" void SIMDWaveToyX_Energy(CCTK_ARGUMENTS) { DECLARE_CCTK_ARGUMENTSX_SIMDWaveToyX_Energy; From 9532231c50b75aecb01ce9c490bb89e812288834 Mon Sep 17 00:00:00 2001 From: Erik Schnetter Date: Thu, 1 Aug 2024 10:52:56 -0400 Subject: [PATCH 04/13] StaggeredWaveToyX: Apply boundary conditions explicitly --- StaggeredWaveToyX/par/standing.par | 1 + StaggeredWaveToyX/schedule.ccl | 22 +++++++++++++-------- StaggeredWaveToyX/src/staggeredwavetoyx.cxx | 6 ++++++ StaggeredWaveToyX/test/standing.par | 1 + 4 files changed, 22 insertions(+), 8 deletions(-) diff --git a/StaggeredWaveToyX/par/standing.par b/StaggeredWaveToyX/par/standing.par index 6bcee9682..b1a2ca2ae 100644 --- a/StaggeredWaveToyX/par/standing.par +++ b/StaggeredWaveToyX/par/standing.par @@ -11,6 +11,7 @@ $out_every = 16 Cactus::cctk_show_schedule = no Cactus::presync_mode = "mixed-error" +CarpetX::verbose = no CarpetX::poison_undefined_values = no CarpetX::periodic_x = yes diff --git a/StaggeredWaveToyX/schedule.ccl b/StaggeredWaveToyX/schedule.ccl index 759b177fa..2afa9c41f 100644 --- a/StaggeredWaveToyX/schedule.ccl +++ b/StaggeredWaveToyX/schedule.ccl @@ -9,10 +9,10 @@ SCHEDULE StaggeredWaveToyX_Initial AT initial WRITES: fxstate(interior) WRITES: fystate(interior) WRITES: fzstate(interior) - SYNC: ustate - SYNC: fxstate - SYNC: fystate - SYNC: fzstate + # SYNC: ustate + # SYNC: fxstate + # SYNC: fystate + # SYNC: fzstate } "Initialize scalar wave state" SCHEDULE StaggeredWaveToyX_RHS IN ODESolvers_RHS @@ -26,12 +26,18 @@ SCHEDULE StaggeredWaveToyX_RHS IN ODESolvers_RHS WRITES: fxrhs(interior) WRITES: fyrhs(interior) WRITES: fzrhs(interior) - SYNC: urhs - SYNC: fxrhs - SYNC: fyrhs - SYNC: fzrhs } "Calculate scalar wave RHS" +SCHEDULE StaggeredWaveToyX_Boundaries IN ODESolvers_PostStep +{ + LANG: C + OPTIONS: level + SYNC: ustate + SYNC: fxstate + SYNC: fystate + SYNC: fzstate +} "Apply boundary conditions to scalar wave state" + SCHEDULE StaggeredWaveToyX_Constraints IN ODESolvers_PostStep { LANG: C diff --git a/StaggeredWaveToyX/src/staggeredwavetoyx.cxx b/StaggeredWaveToyX/src/staggeredwavetoyx.cxx index d25dd4b1a..dfaddeaa0 100644 --- a/StaggeredWaveToyX/src/staggeredwavetoyx.cxx +++ b/StaggeredWaveToyX/src/staggeredwavetoyx.cxx @@ -204,6 +204,12 @@ extern "C" void StaggeredWaveToyX_RHS(CCTK_ARGUMENTS) { }); } +extern "C" void StaggeredWaveToyX_Boundaries(CCTK_ARGUMENTS) { + DECLARE_CCTK_ARGUMENTSX_StaggeredWaveToyX_Boundaries; + + // Do nothing +} + extern "C" void StaggeredWaveToyX_Constraints(CCTK_ARGUMENTS) { DECLARE_CCTK_ARGUMENTSX_StaggeredWaveToyX_Constraints; diff --git a/StaggeredWaveToyX/test/standing.par b/StaggeredWaveToyX/test/standing.par index 823583319..59086a9a2 100644 --- a/StaggeredWaveToyX/test/standing.par +++ b/StaggeredWaveToyX/test/standing.par @@ -10,6 +10,7 @@ $out_every = 16 Cactus::cctk_show_schedule = no Cactus::presync_mode = "mixed-error" +CarpetX::verbose = no CarpetX::poison_undefined_values = yes CarpetX::ncells_x = 8 From 211537881fac908e73feff684d047a970259cc56 Mon Sep 17 00:00:00 2001 From: Erik Schnetter Date: Thu, 1 Aug 2024 10:53:11 -0400 Subject: [PATCH 05/13] TestODESolvers: Correct looping regions --- TestODESolvers/src/odes.cxx | 53 ++++++++++++++++++++++++++++--------- 1 file changed, 40 insertions(+), 13 deletions(-) diff --git a/TestODESolvers/src/odes.cxx b/TestODESolvers/src/odes.cxx index 21ef2b493..ad5cec19a 100644 --- a/TestODESolvers/src/odes.cxx +++ b/TestODESolvers/src/odes.cxx @@ -2,25 +2,34 @@ #include #include +#include #include namespace TestODESolvers { -using namespace std; extern "C" void TestODESolvers_Initial(CCTK_ARGUMENTS) { DECLARE_CCTK_ARGUMENTS_TestODESolvers_Initial; DECLARE_CCTK_PARAMETERS; + using std::pow; const CCTK_REAL u0 = pow(1 + cctk_time, order); + const int imin = cctk_tile_min[0]; + const int jmin = cctk_tile_min[1]; + const int kmin = cctk_tile_min[2]; + + using std::min; + const int imax = min(cctk_lsh[0] - 1, cctk_tile_max[0]); + const int jmax = min(cctk_lsh[1] - 1, cctk_tile_max[1]); + const int kmax = min(cctk_lsh[2] - 1, cctk_tile_max[2]); + const int di = 1; const int dj = di * (cctk_ash[0] - 1); const int dk = dj * (cctk_ash[1] - 1); - for (int k = 0; k < cctk_lsh[2] - 1; ++k) { - for (int j = 0; j < cctk_lsh[1] - 1; ++j) { -#pragma omp simd - for (int i = 0; i < cctk_lsh[0] - 1; ++i) { + for (int k = kmin; k < kmax; ++k) { + for (int j = jmin; j < jmax; ++j) { + for (int i = imin; i < imax; ++i) { int ind = i * di + j * dj + k * dk; state[ind] = u0; state2[ind] = u0; @@ -48,14 +57,22 @@ extern "C" void TestODESolvers_RHS(CCTK_ARGUMENTS) { // u(t) = (1+t)^p // d/dt u = p (1+t)^(p-1) + const int imin = cctk_tile_min[0]; + const int jmin = cctk_tile_min[1]; + const int kmin = cctk_tile_min[2]; + + using std::min; + const int imax = min(cctk_lsh[0] - 1, cctk_tile_max[0]); + const int jmax = min(cctk_lsh[1] - 1, cctk_tile_max[1]); + const int kmax = min(cctk_lsh[2] - 1, cctk_tile_max[2]); + const int di = 1; const int dj = di * (cctk_ash[0] - 1); const int dk = dj * (cctk_ash[1] - 1); - for (int k = 0; k < cctk_lsh[2] - 1; ++k) { - for (int j = 0; j < cctk_lsh[1] - 1; ++j) { -#pragma omp simd - for (int i = 0; i < cctk_lsh[0] - 1; ++i) { + for (int k = kmin; k < kmax; ++k) { + for (int j = jmin; j < jmax; ++j) { + for (int i = imin; i < imax; ++i) { int ind = i * di + j * dj + k * dk; // solving u(t) for (1 + t)^(order - 1) = u_inverse gives: const CCTK_REAL u_inverse = @@ -84,16 +101,25 @@ extern "C" void TestODESolvers_Error(CCTK_ARGUMENTS) { DECLARE_CCTK_ARGUMENTS_TestODESolvers_Error; DECLARE_CCTK_PARAMETERS; + using std::pow; const CCTK_REAL u0 = pow(1 + cctk_time, order); + const int imin = cctk_tile_min[0]; + const int jmin = cctk_tile_min[1]; + const int kmin = cctk_tile_min[2]; + + using std::min; + const int imax = min(cctk_lsh[0] - 1, cctk_tile_max[0]); + const int jmax = min(cctk_lsh[1] - 1, cctk_tile_max[1]); + const int kmax = min(cctk_lsh[2] - 1, cctk_tile_max[2]); + const int di = 1; const int dj = di * (cctk_ash[0] - 1); const int dk = dj * (cctk_ash[1] - 1); - for (int k = 0; k < cctk_lsh[2] - 1; ++k) { - for (int j = 0; j < cctk_lsh[1] - 1; ++j) { -#pragma omp simd - for (int i = 0; i < cctk_lsh[0] - 1; ++i) { + for (int k = kmin; k < kmax; ++k) { + for (int j = jmin; j < jmax; ++j) { + for (int i = imin; i < imax; ++i) { int ind = i * di + j * dj + k * dk; error[ind] = state[ind] - u0; error2[ind] = state2[ind] - u0; @@ -102,6 +128,7 @@ extern "C" void TestODESolvers_Error(CCTK_ARGUMENTS) { // happens reliably at cctk_time == cctk_initial_time corder[ind] = 0; } else { + using std::log; corder[ind] = log(abs(error2[ind] / error[ind])) / log(2.0); } } From de2637a6712ab1d5d767828a7796e073871da937 Mon Sep 17 00:00:00 2001 From: Erik Schnetter Date: Thu, 1 Aug 2024 11:01:17 -0400 Subject: [PATCH 06/13] WaveToyX: Apply boundary conditions explicitly --- WaveToyX/param.ccl | 6 ++ WaveToyX/schedule.ccl | 11 +++- WaveToyX/src/wavetoyx.cxx | 123 +++++++++++++++++++++++++++++++------- 3 files changed, 116 insertions(+), 24 deletions(-) diff --git a/WaveToyX/param.ccl b/WaveToyX/param.ccl index aedf8e9e5..894c9c1a2 100644 --- a/WaveToyX/param.ccl +++ b/WaveToyX/param.ccl @@ -31,6 +31,12 @@ CCTK_REAL gaussian_width "width of Gaussian" (0:* :: "" } 1.0 +CCTK_INT fd_order "finite differencing order" STEERABLE=always +{ + 2 :: "2nd order" + 4 :: "4th order" +} 2 + KEYWORD boundary_condition "Boundary condition" { "CarpetX" :: "Apply boundary conditions via CarpetX" diff --git a/WaveToyX/schedule.ccl b/WaveToyX/schedule.ccl index 5e9a4d89a..8d1f49fb8 100644 --- a/WaveToyX/schedule.ccl +++ b/WaveToyX/schedule.ccl @@ -6,7 +6,6 @@ SCHEDULE WaveToyX_Initial AT initial { LANG: C WRITES: state(interior) - SYNC: state } "Initialize scalar wave state" # SCHEDULE WaveToyX_EstimateError AT postinitial @@ -28,10 +27,16 @@ SCHEDULE WaveToyX_RHS IN ODESolvers_RHS LANG: C READS: state(everywhere) WRITES: rhs(interior) - SYNC: rhs } "Calculate scalar wave RHS" -SCHEDULE WaveToyX_Energy IN ODESolvers_PostStep +SCHEDULE WaveToyX_Boundaries IN ODESolvers_PostStep +{ + LANG: C + OPTIONS: level + SYNC: state +} "Apply boundary conditions" + +SCHEDULE WaveToyX_Energy IN ODESolvers_PostStep AFTER WaveToyX_Boundaries { LANG: C READS: state(everywhere) diff --git a/WaveToyX/src/wavetoyx.cxx b/WaveToyX/src/wavetoyx.cxx index e7188f0fc..c71621f6c 100644 --- a/WaveToyX/src/wavetoyx.cxx +++ b/WaveToyX/src/wavetoyx.cxx @@ -113,23 +113,60 @@ extern "C" void WaveToyX_RHS(CCTK_ARGUMENTS) { DECLARE_CCTK_ARGUMENTSX_WaveToyX_RHS; DECLARE_CCTK_PARAMETERS; - if (CCTK_EQUALS(boundary_condition, "CarpetX")) { + for (int d = 0; d < dim; ++d) + if (cctk_nghostzones[d] < fd_order / 2) + CCTK_ERROR("Too few ghost zones"); - grid.loop_int_device<0, 0, 0>( - grid.nghostzones, - [=] CCTK_DEVICE(const Loop::PointDesc &p) CCTK_ATTRIBUTE_ALWAYS_INLINE { - using std::pow; - CCTK_REAL ddu = 0; - for (int d = 0; d < dim; ++d) - ddu += (u(p.I - p.DI[d]) - 2 * u(p.I) + u(p.I + p.DI[d])) / - pow(p.DX[d], 2); + if (CCTK_EQUALS(boundary_condition, "CarpetX")) { - u_rhs(p.I) = rho(p.I); - rho_rhs(p.I) = ddu; - }); + switch (fd_order) { + + case 2: + grid.loop_int_device<0, 0, 0>( + grid.nghostzones, + [=] CCTK_DEVICE(const Loop::PointDesc &p) + CCTK_ATTRIBUTE_ALWAYS_INLINE { + using std::pow; + CCTK_REAL ddu = 0; + for (int d = 0; d < dim; ++d) + ddu += (u(p.I - p.DI[d]) - 2 * u(p.I) + u(p.I + p.DI[d])) / + pow(p.DX[d], 2); + + u_rhs(p.I) = rho(p.I); + rho_rhs(p.I) = ddu; + }); + break; + + case 4: + grid.loop_int_device<0, 0, 0>( + grid.nghostzones, + [=] CCTK_DEVICE(const Loop::PointDesc &p) + CCTK_ATTRIBUTE_ALWAYS_INLINE { + using std::pow; + CCTK_REAL ddu = 0; + for (int d = 0; d < dim; ++d) + ddu += (-1 / CCTK_REAL(12) * u(p.I - 2 * p.DI[d]) + + 4 / CCTK_REAL(3) * u(p.I - p.DI[d]) - + 5 / CCTK_REAL(2) * u(p.I) + + 4 / CCTK_REAL(3) * u(p.I + p.DI[d]) - + 1 / CCTK_REAL(2) * u(p.I + 2 * p.DI[d])) / + pow(p.DX[d], 2); + + u_rhs(p.I) = rho(p.I); + rho_rhs(p.I) = ddu; + }); + break; + + default: + CCTK_ERROR("Unsupported finite differencing order"); + break; + } } else if (CCTK_EQUALS(boundary_condition, "reflecting")) { + if (fd_order != 2) + CCTK_ERROR("Unsupported finite differencing order"); + grid.loop_int_device<0, 0, 0>( grid.nghostzones, [=] CCTK_DEVICE(const Loop::PointDesc &p) CCTK_ATTRIBUTE_ALWAYS_INLINE { @@ -153,6 +190,9 @@ extern "C" void WaveToyX_RHS(CCTK_ARGUMENTS) { } else if (CCTK_EQUALS(boundary_condition, "radiative")) { + if (fd_order != 2) + CCTK_ERROR("Unsupported finite differencing order"); + grid.loop_int_device<0, 0, 0>( grid.nghostzones, [=] CCTK_DEVICE(const Loop::PointDesc &p) CCTK_ATTRIBUTE_ALWAYS_INLINE { @@ -251,18 +291,59 @@ extern "C" void WaveToyX_RHS(CCTK_ARGUMENTS) { } } +extern "C" void WaveToyX_Boundaries(CCTK_ARGUMENTS) { + DECLARE_CCTK_ARGUMENTSX_WaveToyX_Boundaries; + DECLARE_CCTK_PARAMETERS; + + // Do nothing +} + extern "C" void WaveToyX_Energy(CCTK_ARGUMENTS) { DECLARE_CCTK_ARGUMENTSX_WaveToyX_Energy; - grid.loop_int_device<0, 0, 0>( - grid.nghostzones, - [=] CCTK_DEVICE(const Loop::PointDesc &p) CCTK_ATTRIBUTE_ALWAYS_INLINE { - using std::pow; - CCTK_REAL du2 = 0; - for (int d = 0; d < dim; ++d) - du2 += pow((u(p.I + p.DI[d]) - u(p.I + p.DI[d])) / (2 * p.DX[d]), 2); + DECLARE_CCTK_PARAMETERS; - eps(p.I) = (pow(rho(p.I), 2) + du2) / 2; - }); + for (int d = 0; d < dim; ++d) + if (cctk_nghostzones[d] < fd_order / 2) + CCTK_ERROR("Too few ghost zones"); + + switch (fd_order) { + + case 2: + grid.loop_int_device<0, 0, 0>( + grid.nghostzones, + [=] CCTK_DEVICE(const Loop::PointDesc &p) CCTK_ATTRIBUTE_ALWAYS_INLINE { + using std::pow; + CCTK_REAL du2 = 0; + for (int d = 0; d < dim; ++d) + du2 += + pow((u(p.I + p.DI[d]) - u(p.I - p.DI[d])) / (2 * p.DX[d]), 2); + + eps(p.I) = (pow(rho(p.I), 2) + du2) / 2; + }); + break; + + case 4: + grid.loop_int_device<0, 0, 0>( + grid.nghostzones, + [=] CCTK_DEVICE(const Loop::PointDesc &p) CCTK_ATTRIBUTE_ALWAYS_INLINE { + using std::pow; + CCTK_REAL du2 = 0; + for (int d = 0; d < dim; ++d) + du2 += pow((1 / CCTK_REAL(12) * u(p.I - 2 * p.DI[d]) - + 2 / CCTK_REAL(3) * u(p.I - p.DI[d]) + + 2 / CCTK_REAL(3) * u(p.I + p.DI[d]) - + 1 / CCTK_REAL(12) * u(p.I + 2 * p.DI[d])) / + p.DX[d], + 2); + + eps(p.I) = (pow(rho(p.I), 2) + du2) / 2; + }); + break; + + default: + CCTK_ERROR("Unsupported finite differencing order"); + break; + } } extern "C" void WaveToyX_Error(CCTK_ARGUMENTS) { From 276aaf5442c6099b467d065599ef6d0c20353ecc Mon Sep 17 00:00:00 2001 From: Erik Schnetter Date: Thu, 1 Aug 2024 12:16:49 -0400 Subject: [PATCH 07/13] FluxWaveToyX: Sync to make test output correct --- FluxWaveToyX/schedule.ccl | 3 +++ 1 file changed, 3 insertions(+) diff --git a/FluxWaveToyX/schedule.ccl b/FluxWaveToyX/schedule.ccl index ea73e024b..6a9af2e22 100644 --- a/FluxWaveToyX/schedule.ccl +++ b/FluxWaveToyX/schedule.ccl @@ -15,6 +15,7 @@ SCHEDULE FluxWaveToyX_Fluxes IN ODESolvers_RHS WRITES: flux_x(interior) WRITES: flux_y(interior) WRITES: flux_z(interior) + # Sync for test output SYNC: flux_x SYNC: flux_y SYNC: flux_z @@ -28,6 +29,8 @@ SCHEDULE FluxWaveToyX_RHS IN ODESolvers_RHS AFTER FluxWaveToyX_Fluxes READS: flux_y(interior) READS: flux_z(interior) WRITES: rhs(interior) + # Sync for test output + SYNC: rhs } "Calculate scalar wave RHS" SCHEDULE FluxWaveToyX_Boundaries IN ODESolvers_PostStep From b9df9e2967e4986e539215f7f323784476b800d8 Mon Sep 17 00:00:00 2001 From: Erik Schnetter Date: Thu, 1 Aug 2024 12:17:11 -0400 Subject: [PATCH 08/13] SIMDWaveToyX: Sync to make test output correct --- SIMDWaveToyX/schedule.ccl | 2 ++ 1 file changed, 2 insertions(+) diff --git a/SIMDWaveToyX/schedule.ccl b/SIMDWaveToyX/schedule.ccl index 162ae855b..e7bc426ea 100644 --- a/SIMDWaveToyX/schedule.ccl +++ b/SIMDWaveToyX/schedule.ccl @@ -13,6 +13,8 @@ SCHEDULE SIMDWaveToyX_RHS IN ODESolvers_RHS LANG: C READS: state(everywhere) WRITES: rhs(interior) + # Sync for test output + SYNC: rhs } "Calculate scalar wave RHS" SCHEDULE SIMDWaveToyX_Boundaries IN ODESolvers_PostStep From 274ecf12391ee63106425ec20a301a74e5e7f3a1 Mon Sep 17 00:00:00 2001 From: Erik Schnetter Date: Thu, 1 Aug 2024 12:17:21 -0400 Subject: [PATCH 09/13] StaggeredWaveToyX: Sync to make test output correct --- StaggeredWaveToyX/schedule.ccl | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/StaggeredWaveToyX/schedule.ccl b/StaggeredWaveToyX/schedule.ccl index 2afa9c41f..46ad38e8a 100644 --- a/StaggeredWaveToyX/schedule.ccl +++ b/StaggeredWaveToyX/schedule.ccl @@ -9,10 +9,6 @@ SCHEDULE StaggeredWaveToyX_Initial AT initial WRITES: fxstate(interior) WRITES: fystate(interior) WRITES: fzstate(interior) - # SYNC: ustate - # SYNC: fxstate - # SYNC: fystate - # SYNC: fzstate } "Initialize scalar wave state" SCHEDULE StaggeredWaveToyX_RHS IN ODESolvers_RHS @@ -26,6 +22,11 @@ SCHEDULE StaggeredWaveToyX_RHS IN ODESolvers_RHS WRITES: fxrhs(interior) WRITES: fyrhs(interior) WRITES: fzrhs(interior) + # Sync for test output + SYNC: urhs + SYNC: fxrhs + SYNC: fyrhs + SYNC: fzrhs } "Calculate scalar wave RHS" SCHEDULE StaggeredWaveToyX_Boundaries IN ODESolvers_PostStep From 7e3ed82c711a16fa5d43f4fba9c8ed85dfa586cf Mon Sep 17 00:00:00 2001 From: Erik Schnetter Date: Thu, 1 Aug 2024 12:20:27 -0400 Subject: [PATCH 10/13] WaveToyX: Sync to make test output correct --- WaveToyX/schedule.ccl | 2 ++ 1 file changed, 2 insertions(+) diff --git a/WaveToyX/schedule.ccl b/WaveToyX/schedule.ccl index 8d1f49fb8..bc621fb83 100644 --- a/WaveToyX/schedule.ccl +++ b/WaveToyX/schedule.ccl @@ -27,6 +27,8 @@ SCHEDULE WaveToyX_RHS IN ODESolvers_RHS LANG: C READS: state(everywhere) WRITES: rhs(interior) + # Sync for test output + SYNC: rhs } "Calculate scalar wave RHS" SCHEDULE WaveToyX_Boundaries IN ODESolvers_PostStep From 1873a465bee332227dd48357261a3f2944e20fe8 Mon Sep 17 00:00:00 2001 From: Erik Schnetter Date: Thu, 1 Aug 2024 15:16:30 -0400 Subject: [PATCH 11/13] WaveToyX: Update test cases --- WaveToyX/test/{standing2.par => presync.par} | 0 .../norms/carpetx-regrid_error.tsv | 0 .../test/presync/norms/wavetoyx-energy.tsv | 3 +++ .../norms/wavetoyx-error.tsv | 0 .../norms/wavetoyx-rhs.tsv | 0 .../norms/wavetoyx-state.tsv | 0 .../presync/wavetoyx-energy.it000000.x.tsv | 12 +++++++++++ .../presync/wavetoyx-energy.it000000.y.tsv | 12 +++++++++++ .../presync/wavetoyx-energy.it000000.z.tsv | 12 +++++++++++ .../presync/wavetoyx-energy.it000010.x.tsv | 12 +++++++++++ .../presync/wavetoyx-energy.it000010.y.tsv | 12 +++++++++++ .../presync/wavetoyx-energy.it000010.z.tsv | 12 +++++++++++ .../wavetoyx-error.it000000.x.tsv | 0 .../wavetoyx-error.it000000.y.tsv | 0 .../wavetoyx-error.it000000.z.tsv | 0 .../wavetoyx-error.it000010.x.tsv | 0 .../wavetoyx-error.it000010.y.tsv | 0 .../wavetoyx-error.it000010.z.tsv | 0 .../wavetoyx-state.it000000.x.tsv | 0 .../wavetoyx-state.it000000.y.tsv | 0 .../wavetoyx-state.it000000.z.tsv | 0 .../wavetoyx-state.it000010.x.tsv | 0 .../wavetoyx-state.it000010.y.tsv | 0 .../wavetoyx-state.it000010.z.tsv | 0 .../test/radiative/norms/wavetoyx-energy.tsv | 2 +- .../radiative/wavetoyx-energy.it000010.x.tsv | 20 +++++++++---------- .../radiative/wavetoyx-energy.it000010.y.tsv | 20 +++++++++---------- .../radiative/wavetoyx-energy.it000010.z.tsv | 20 +++++++++---------- .../test/reflecting/norms/wavetoyx-energy.tsv | 4 ++-- .../reflecting/wavetoyx-energy.it000000.x.tsv | 20 +++++++++---------- .../reflecting/wavetoyx-energy.it000000.y.tsv | 20 +++++++++---------- .../reflecting/wavetoyx-energy.it000000.z.tsv | 20 +++++++++---------- .../reflecting/wavetoyx-energy.it000010.x.tsv | 20 +++++++++---------- .../reflecting/wavetoyx-energy.it000010.y.tsv | 20 +++++++++---------- .../reflecting/wavetoyx-energy.it000010.z.tsv | 20 +++++++++---------- .../test/standing/norms/wavetoyx-energy.tsv | 4 ++-- .../standing/wavetoyx-energy.it000000.x.tsv | 16 +++++++-------- .../standing/wavetoyx-energy.it000000.y.tsv | 16 +++++++-------- .../standing/wavetoyx-energy.it000000.z.tsv | 16 +++++++-------- .../standing/wavetoyx-energy.it000010.x.tsv | 16 +++++++-------- .../standing/wavetoyx-energy.it000010.y.tsv | 16 +++++++-------- .../standing/wavetoyx-energy.it000010.z.tsv | 16 +++++++-------- .../test/standing2/norms/wavetoyx-energy.tsv | 3 --- 43 files changed, 218 insertions(+), 146 deletions(-) rename WaveToyX/test/{standing2.par => presync.par} (100%) rename WaveToyX/test/{standing2 => presync}/norms/carpetx-regrid_error.tsv (100%) create mode 100644 WaveToyX/test/presync/norms/wavetoyx-energy.tsv rename WaveToyX/test/{standing2 => presync}/norms/wavetoyx-error.tsv (100%) rename WaveToyX/test/{standing2 => presync}/norms/wavetoyx-rhs.tsv (100%) rename WaveToyX/test/{standing2 => presync}/norms/wavetoyx-state.tsv (100%) create mode 100644 WaveToyX/test/presync/wavetoyx-energy.it000000.x.tsv create mode 100644 WaveToyX/test/presync/wavetoyx-energy.it000000.y.tsv create mode 100644 WaveToyX/test/presync/wavetoyx-energy.it000000.z.tsv create mode 100644 WaveToyX/test/presync/wavetoyx-energy.it000010.x.tsv create mode 100644 WaveToyX/test/presync/wavetoyx-energy.it000010.y.tsv create mode 100644 WaveToyX/test/presync/wavetoyx-energy.it000010.z.tsv rename WaveToyX/test/{standing2 => presync}/wavetoyx-error.it000000.x.tsv (100%) rename WaveToyX/test/{standing2 => presync}/wavetoyx-error.it000000.y.tsv (100%) rename WaveToyX/test/{standing2 => presync}/wavetoyx-error.it000000.z.tsv (100%) rename WaveToyX/test/{standing2 => presync}/wavetoyx-error.it000010.x.tsv (100%) rename WaveToyX/test/{standing2 => presync}/wavetoyx-error.it000010.y.tsv (100%) rename WaveToyX/test/{standing2 => presync}/wavetoyx-error.it000010.z.tsv (100%) rename WaveToyX/test/{standing2 => presync}/wavetoyx-state.it000000.x.tsv (100%) rename WaveToyX/test/{standing2 => presync}/wavetoyx-state.it000000.y.tsv (100%) rename WaveToyX/test/{standing2 => presync}/wavetoyx-state.it000000.z.tsv (100%) rename WaveToyX/test/{standing2 => presync}/wavetoyx-state.it000010.x.tsv (100%) rename WaveToyX/test/{standing2 => presync}/wavetoyx-state.it000010.y.tsv (100%) rename WaveToyX/test/{standing2 => presync}/wavetoyx-state.it000010.z.tsv (100%) delete mode 100644 WaveToyX/test/standing2/norms/wavetoyx-energy.tsv diff --git a/WaveToyX/test/standing2.par b/WaveToyX/test/presync.par similarity index 100% rename from WaveToyX/test/standing2.par rename to WaveToyX/test/presync.par diff --git a/WaveToyX/test/standing2/norms/carpetx-regrid_error.tsv b/WaveToyX/test/presync/norms/carpetx-regrid_error.tsv similarity index 100% rename from WaveToyX/test/standing2/norms/carpetx-regrid_error.tsv rename to WaveToyX/test/presync/norms/carpetx-regrid_error.tsv diff --git a/WaveToyX/test/presync/norms/wavetoyx-energy.tsv b/WaveToyX/test/presync/norms/wavetoyx-energy.tsv new file mode 100644 index 000000000..3e15a0018 --- /dev/null +++ b/WaveToyX/test/presync/norms/wavetoyx-energy.tsv @@ -0,0 +1,3 @@ +# 1:iteration 2:time 3:wavetoyx::eps.min 4:wavetoyx::eps.max 5:wavetoyx::eps.sum 6:wavetoyx::eps.avg 7:wavetoyx::eps.stddev 8:wavetoyx::eps.volume 9:wavetoyx::eps.L1norm 10:wavetoyx::eps.L2norm 11:wavetoyx::eps.maxabs +0 0.0000000000000000e+00 0.0000000000000000e+00 3.9999999999999991e+00 1.2000000000000000e+01 1.5000000000000000e+00 9.1855865354369159e-01 8.0000000000000000e+00 1.5000000000000000e+00 1.7589059099337860e+00 3.9999999999999991e+00 +10 1.2500000000000000e+00 3.0635765267228182e-33 2.9902155711737288e+00 1.0704548812198462e+01 1.3380686015248078e+00 8.0239858560267252e-01 8.0000000000000000e+00 1.3380686015248078e+00 1.5602150725344646e+00 2.9902155711737288e+00 diff --git a/WaveToyX/test/standing2/norms/wavetoyx-error.tsv b/WaveToyX/test/presync/norms/wavetoyx-error.tsv similarity index 100% rename from WaveToyX/test/standing2/norms/wavetoyx-error.tsv rename to WaveToyX/test/presync/norms/wavetoyx-error.tsv diff --git a/WaveToyX/test/standing2/norms/wavetoyx-rhs.tsv b/WaveToyX/test/presync/norms/wavetoyx-rhs.tsv similarity index 100% rename from WaveToyX/test/standing2/norms/wavetoyx-rhs.tsv rename to WaveToyX/test/presync/norms/wavetoyx-rhs.tsv diff --git a/WaveToyX/test/standing2/norms/wavetoyx-state.tsv b/WaveToyX/test/presync/norms/wavetoyx-state.tsv similarity index 100% rename from WaveToyX/test/standing2/norms/wavetoyx-state.tsv rename to WaveToyX/test/presync/norms/wavetoyx-state.tsv diff --git a/WaveToyX/test/presync/wavetoyx-energy.it000000.x.tsv b/WaveToyX/test/presync/wavetoyx-energy.it000000.x.tsv new file mode 100644 index 000000000..cec31554f --- /dev/null +++ b/WaveToyX/test/presync/wavetoyx-energy.it000000.x.tsv @@ -0,0 +1,12 @@ +# 1:iteration 2:time 3:patch 4:level 5:i 6:j 7:k 8:x 9:y 10:z 11:eps +0 0.0000000000000000e+00 0 0 -1 4 4 -1.2500000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 2.0000000000000000e+00 +0 0.0000000000000000e+00 0 0 0 4 4 -1.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +0 0.0000000000000000e+00 0 0 1 4 4 -7.5000000000000000e-01 0.0000000000000000e+00 0.0000000000000000e+00 2.0000000000000000e+00 +0 0.0000000000000000e+00 0 0 2 4 4 -5.0000000000000000e-01 0.0000000000000000e+00 0.0000000000000000e+00 3.9999999999999991e+00 +0 0.0000000000000000e+00 0 0 3 4 4 -2.5000000000000000e-01 0.0000000000000000e+00 0.0000000000000000e+00 1.9999999999999996e+00 +0 0.0000000000000000e+00 0 0 4 4 4 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +0 0.0000000000000000e+00 0 0 5 4 4 2.5000000000000000e-01 0.0000000000000000e+00 0.0000000000000000e+00 1.9999999999999996e+00 +0 0.0000000000000000e+00 0 0 6 4 4 5.0000000000000000e-01 0.0000000000000000e+00 0.0000000000000000e+00 3.9999999999999991e+00 +0 0.0000000000000000e+00 0 0 7 4 4 7.5000000000000000e-01 0.0000000000000000e+00 0.0000000000000000e+00 2.0000000000000000e+00 +0 0.0000000000000000e+00 0 0 8 4 4 1.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +0 0.0000000000000000e+00 0 0 9 4 4 1.2500000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 2.0000000000000000e+00 diff --git a/WaveToyX/test/presync/wavetoyx-energy.it000000.y.tsv b/WaveToyX/test/presync/wavetoyx-energy.it000000.y.tsv new file mode 100644 index 000000000..1db82f115 --- /dev/null +++ b/WaveToyX/test/presync/wavetoyx-energy.it000000.y.tsv @@ -0,0 +1,12 @@ +# 1:iteration 2:time 3:patch 4:level 5:i 6:j 7:k 8:x 9:y 10:z 11:eps +0 0.0000000000000000e+00 0 0 4 -1 4 0.0000000000000000e+00 -1.2500000000000000e+00 0.0000000000000000e+00 2.0000000000000000e+00 +0 0.0000000000000000e+00 0 0 4 0 4 0.0000000000000000e+00 -1.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +0 0.0000000000000000e+00 0 0 4 1 4 0.0000000000000000e+00 -7.5000000000000000e-01 0.0000000000000000e+00 2.0000000000000000e+00 +0 0.0000000000000000e+00 0 0 4 2 4 0.0000000000000000e+00 -5.0000000000000000e-01 0.0000000000000000e+00 3.9999999999999991e+00 +0 0.0000000000000000e+00 0 0 4 3 4 0.0000000000000000e+00 -2.5000000000000000e-01 0.0000000000000000e+00 1.9999999999999996e+00 +0 0.0000000000000000e+00 0 0 4 4 4 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +0 0.0000000000000000e+00 0 0 4 5 4 0.0000000000000000e+00 2.5000000000000000e-01 0.0000000000000000e+00 1.9999999999999996e+00 +0 0.0000000000000000e+00 0 0 4 6 4 0.0000000000000000e+00 5.0000000000000000e-01 0.0000000000000000e+00 3.9999999999999991e+00 +0 0.0000000000000000e+00 0 0 4 7 4 0.0000000000000000e+00 7.5000000000000000e-01 0.0000000000000000e+00 2.0000000000000000e+00 +0 0.0000000000000000e+00 0 0 4 8 4 0.0000000000000000e+00 1.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +0 0.0000000000000000e+00 0 0 4 9 4 0.0000000000000000e+00 1.2500000000000000e+00 0.0000000000000000e+00 2.0000000000000000e+00 diff --git a/WaveToyX/test/presync/wavetoyx-energy.it000000.z.tsv b/WaveToyX/test/presync/wavetoyx-energy.it000000.z.tsv new file mode 100644 index 000000000..e88449589 --- /dev/null +++ b/WaveToyX/test/presync/wavetoyx-energy.it000000.z.tsv @@ -0,0 +1,12 @@ +# 1:iteration 2:time 3:patch 4:level 5:i 6:j 7:k 8:x 9:y 10:z 11:eps +0 0.0000000000000000e+00 0 0 4 4 -1 0.0000000000000000e+00 0.0000000000000000e+00 -1.2500000000000000e+00 2.0000000000000000e+00 +0 0.0000000000000000e+00 0 0 4 4 0 0.0000000000000000e+00 0.0000000000000000e+00 -1.0000000000000000e+00 0.0000000000000000e+00 +0 0.0000000000000000e+00 0 0 4 4 1 0.0000000000000000e+00 0.0000000000000000e+00 -7.5000000000000000e-01 2.0000000000000000e+00 +0 0.0000000000000000e+00 0 0 4 4 2 0.0000000000000000e+00 0.0000000000000000e+00 -5.0000000000000000e-01 3.9999999999999991e+00 +0 0.0000000000000000e+00 0 0 4 4 3 0.0000000000000000e+00 0.0000000000000000e+00 -2.5000000000000000e-01 1.9999999999999996e+00 +0 0.0000000000000000e+00 0 0 4 4 4 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +0 0.0000000000000000e+00 0 0 4 4 5 0.0000000000000000e+00 0.0000000000000000e+00 2.5000000000000000e-01 1.9999999999999996e+00 +0 0.0000000000000000e+00 0 0 4 4 6 0.0000000000000000e+00 0.0000000000000000e+00 5.0000000000000000e-01 3.9999999999999991e+00 +0 0.0000000000000000e+00 0 0 4 4 7 0.0000000000000000e+00 0.0000000000000000e+00 7.5000000000000000e-01 2.0000000000000000e+00 +0 0.0000000000000000e+00 0 0 4 4 8 0.0000000000000000e+00 0.0000000000000000e+00 1.0000000000000000e+00 0.0000000000000000e+00 +0 0.0000000000000000e+00 0 0 4 4 9 0.0000000000000000e+00 0.0000000000000000e+00 1.2500000000000000e+00 2.0000000000000000e+00 diff --git a/WaveToyX/test/presync/wavetoyx-energy.it000010.x.tsv b/WaveToyX/test/presync/wavetoyx-energy.it000010.x.tsv new file mode 100644 index 000000000..a4874f76a --- /dev/null +++ b/WaveToyX/test/presync/wavetoyx-energy.it000010.x.tsv @@ -0,0 +1,12 @@ +# 1:iteration 2:time 3:patch 4:level 5:i 6:j 7:k 8:x 9:y 10:z 11:eps +10 1.2500000000000000e+00 0 0 -1 4 4 -1.2500000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 2.3620588349255054e+00 +10 1.2500000000000000e+00 0 0 0 4 4 -1.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 1.7339020986772793e+00 +10 1.2500000000000000e+00 0 0 1 4 4 -7.5000000000000000e-01 0.0000000000000000e+00 0.0000000000000000e+00 2.3620588349255041e+00 +10 1.2500000000000000e+00 0 0 2 4 4 -5.0000000000000000e-01 0.0000000000000000e+00 0.0000000000000000e+00 2.9902155711737288e+00 +10 1.2500000000000000e+00 0 0 3 4 4 -2.5000000000000000e-01 0.0000000000000000e+00 0.0000000000000000e+00 2.3620588349255036e+00 +10 1.2500000000000000e+00 0 0 4 4 4 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 1.7339020986772797e+00 +10 1.2500000000000000e+00 0 0 5 4 4 2.5000000000000000e-01 0.0000000000000000e+00 0.0000000000000000e+00 2.3620588349255041e+00 +10 1.2500000000000000e+00 0 0 6 4 4 5.0000000000000000e-01 0.0000000000000000e+00 0.0000000000000000e+00 2.9902155711737288e+00 +10 1.2500000000000000e+00 0 0 7 4 4 7.5000000000000000e-01 0.0000000000000000e+00 0.0000000000000000e+00 2.3620588349255054e+00 +10 1.2500000000000000e+00 0 0 8 4 4 1.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 1.7339020986772793e+00 +10 1.2500000000000000e+00 0 0 9 4 4 1.2500000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 2.3620588349255041e+00 diff --git a/WaveToyX/test/presync/wavetoyx-energy.it000010.y.tsv b/WaveToyX/test/presync/wavetoyx-energy.it000010.y.tsv new file mode 100644 index 000000000..af30828d1 --- /dev/null +++ b/WaveToyX/test/presync/wavetoyx-energy.it000010.y.tsv @@ -0,0 +1,12 @@ +# 1:iteration 2:time 3:patch 4:level 5:i 6:j 7:k 8:x 9:y 10:z 11:eps +10 1.2500000000000000e+00 0 0 4 -1 4 0.0000000000000000e+00 -1.2500000000000000e+00 0.0000000000000000e+00 2.3620588349255054e+00 +10 1.2500000000000000e+00 0 0 4 0 4 0.0000000000000000e+00 -1.0000000000000000e+00 0.0000000000000000e+00 1.7339020986772793e+00 +10 1.2500000000000000e+00 0 0 4 1 4 0.0000000000000000e+00 -7.5000000000000000e-01 0.0000000000000000e+00 2.3620588349255041e+00 +10 1.2500000000000000e+00 0 0 4 2 4 0.0000000000000000e+00 -5.0000000000000000e-01 0.0000000000000000e+00 2.9902155711737288e+00 +10 1.2500000000000000e+00 0 0 4 3 4 0.0000000000000000e+00 -2.5000000000000000e-01 0.0000000000000000e+00 2.3620588349255036e+00 +10 1.2500000000000000e+00 0 0 4 4 4 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 1.7339020986772797e+00 +10 1.2500000000000000e+00 0 0 4 5 4 0.0000000000000000e+00 2.5000000000000000e-01 0.0000000000000000e+00 2.3620588349255041e+00 +10 1.2500000000000000e+00 0 0 4 6 4 0.0000000000000000e+00 5.0000000000000000e-01 0.0000000000000000e+00 2.9902155711737288e+00 +10 1.2500000000000000e+00 0 0 4 7 4 0.0000000000000000e+00 7.5000000000000000e-01 0.0000000000000000e+00 2.3620588349255054e+00 +10 1.2500000000000000e+00 0 0 4 8 4 0.0000000000000000e+00 1.0000000000000000e+00 0.0000000000000000e+00 1.7339020986772793e+00 +10 1.2500000000000000e+00 0 0 4 9 4 0.0000000000000000e+00 1.2500000000000000e+00 0.0000000000000000e+00 2.3620588349255041e+00 diff --git a/WaveToyX/test/presync/wavetoyx-energy.it000010.z.tsv b/WaveToyX/test/presync/wavetoyx-energy.it000010.z.tsv new file mode 100644 index 000000000..040e8a6b3 --- /dev/null +++ b/WaveToyX/test/presync/wavetoyx-energy.it000010.z.tsv @@ -0,0 +1,12 @@ +# 1:iteration 2:time 3:patch 4:level 5:i 6:j 7:k 8:x 9:y 10:z 11:eps +10 1.2500000000000000e+00 0 0 4 4 -1 0.0000000000000000e+00 0.0000000000000000e+00 -1.2500000000000000e+00 2.3620588349255049e+00 +10 1.2500000000000000e+00 0 0 4 4 0 0.0000000000000000e+00 0.0000000000000000e+00 -1.0000000000000000e+00 1.7339020986772788e+00 +10 1.2500000000000000e+00 0 0 4 4 1 0.0000000000000000e+00 0.0000000000000000e+00 -7.5000000000000000e-01 2.3620588349255067e+00 +10 1.2500000000000000e+00 0 0 4 4 2 0.0000000000000000e+00 0.0000000000000000e+00 -5.0000000000000000e-01 2.9902155711737288e+00 +10 1.2500000000000000e+00 0 0 4 4 3 0.0000000000000000e+00 0.0000000000000000e+00 -2.5000000000000000e-01 2.3620588349255041e+00 +10 1.2500000000000000e+00 0 0 4 4 4 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 1.7339020986772797e+00 +10 1.2500000000000000e+00 0 0 4 4 5 0.0000000000000000e+00 0.0000000000000000e+00 2.5000000000000000e-01 2.3620588349255041e+00 +10 1.2500000000000000e+00 0 0 4 4 6 0.0000000000000000e+00 0.0000000000000000e+00 5.0000000000000000e-01 2.9902155711737266e+00 +10 1.2500000000000000e+00 0 0 4 4 7 0.0000000000000000e+00 0.0000000000000000e+00 7.5000000000000000e-01 2.3620588349255049e+00 +10 1.2500000000000000e+00 0 0 4 4 8 0.0000000000000000e+00 0.0000000000000000e+00 1.0000000000000000e+00 1.7339020986772788e+00 +10 1.2500000000000000e+00 0 0 4 4 9 0.0000000000000000e+00 0.0000000000000000e+00 1.2500000000000000e+00 2.3620588349255067e+00 diff --git a/WaveToyX/test/standing2/wavetoyx-error.it000000.x.tsv b/WaveToyX/test/presync/wavetoyx-error.it000000.x.tsv similarity index 100% rename from WaveToyX/test/standing2/wavetoyx-error.it000000.x.tsv rename to WaveToyX/test/presync/wavetoyx-error.it000000.x.tsv diff --git a/WaveToyX/test/standing2/wavetoyx-error.it000000.y.tsv b/WaveToyX/test/presync/wavetoyx-error.it000000.y.tsv similarity index 100% rename from WaveToyX/test/standing2/wavetoyx-error.it000000.y.tsv rename to WaveToyX/test/presync/wavetoyx-error.it000000.y.tsv diff --git a/WaveToyX/test/standing2/wavetoyx-error.it000000.z.tsv b/WaveToyX/test/presync/wavetoyx-error.it000000.z.tsv similarity index 100% rename from WaveToyX/test/standing2/wavetoyx-error.it000000.z.tsv rename to WaveToyX/test/presync/wavetoyx-error.it000000.z.tsv diff --git a/WaveToyX/test/standing2/wavetoyx-error.it000010.x.tsv b/WaveToyX/test/presync/wavetoyx-error.it000010.x.tsv similarity index 100% rename from WaveToyX/test/standing2/wavetoyx-error.it000010.x.tsv rename to WaveToyX/test/presync/wavetoyx-error.it000010.x.tsv diff --git a/WaveToyX/test/standing2/wavetoyx-error.it000010.y.tsv b/WaveToyX/test/presync/wavetoyx-error.it000010.y.tsv similarity index 100% rename from WaveToyX/test/standing2/wavetoyx-error.it000010.y.tsv rename to WaveToyX/test/presync/wavetoyx-error.it000010.y.tsv diff --git a/WaveToyX/test/standing2/wavetoyx-error.it000010.z.tsv b/WaveToyX/test/presync/wavetoyx-error.it000010.z.tsv similarity index 100% rename from WaveToyX/test/standing2/wavetoyx-error.it000010.z.tsv rename to WaveToyX/test/presync/wavetoyx-error.it000010.z.tsv diff --git a/WaveToyX/test/standing2/wavetoyx-state.it000000.x.tsv b/WaveToyX/test/presync/wavetoyx-state.it000000.x.tsv similarity index 100% rename from WaveToyX/test/standing2/wavetoyx-state.it000000.x.tsv rename to WaveToyX/test/presync/wavetoyx-state.it000000.x.tsv diff --git a/WaveToyX/test/standing2/wavetoyx-state.it000000.y.tsv b/WaveToyX/test/presync/wavetoyx-state.it000000.y.tsv similarity index 100% rename from WaveToyX/test/standing2/wavetoyx-state.it000000.y.tsv rename to WaveToyX/test/presync/wavetoyx-state.it000000.y.tsv diff --git a/WaveToyX/test/standing2/wavetoyx-state.it000000.z.tsv b/WaveToyX/test/presync/wavetoyx-state.it000000.z.tsv similarity index 100% rename from WaveToyX/test/standing2/wavetoyx-state.it000000.z.tsv rename to WaveToyX/test/presync/wavetoyx-state.it000000.z.tsv diff --git a/WaveToyX/test/standing2/wavetoyx-state.it000010.x.tsv b/WaveToyX/test/presync/wavetoyx-state.it000010.x.tsv similarity index 100% rename from WaveToyX/test/standing2/wavetoyx-state.it000010.x.tsv rename to WaveToyX/test/presync/wavetoyx-state.it000010.x.tsv diff --git a/WaveToyX/test/standing2/wavetoyx-state.it000010.y.tsv b/WaveToyX/test/presync/wavetoyx-state.it000010.y.tsv similarity index 100% rename from WaveToyX/test/standing2/wavetoyx-state.it000010.y.tsv rename to WaveToyX/test/presync/wavetoyx-state.it000010.y.tsv diff --git a/WaveToyX/test/standing2/wavetoyx-state.it000010.z.tsv b/WaveToyX/test/presync/wavetoyx-state.it000010.z.tsv similarity index 100% rename from WaveToyX/test/standing2/wavetoyx-state.it000010.z.tsv rename to WaveToyX/test/presync/wavetoyx-state.it000010.z.tsv diff --git a/WaveToyX/test/radiative/norms/wavetoyx-energy.tsv b/WaveToyX/test/radiative/norms/wavetoyx-energy.tsv index 465b26425..0d75d9db5 100644 --- a/WaveToyX/test/radiative/norms/wavetoyx-energy.tsv +++ b/WaveToyX/test/radiative/norms/wavetoyx-energy.tsv @@ -1,3 +1,3 @@ # 1:iteration 2:time 3:wavetoyx::eps.min 4:wavetoyx::eps.max 5:wavetoyx::eps.sum 6:wavetoyx::eps.avg 7:wavetoyx::eps.stddev 8:wavetoyx::eps.volume 9:wavetoyx::eps.L1norm 10:wavetoyx::eps.L2norm 11:wavetoyx::eps.maxabs 0 0.0000000000000000e+00 1.9661479530650307e-04 3.2000000000000000e+01 2.1853127084303402e+01 2.7316408855379253e+00 4.9014723769458195e+00 8.0000000000000000e+00 2.7316408855379253e+00 5.6112648653851043e+00 3.2000000000000000e+01 -10 1.2500000000000000e+00 7.6899053108810409e-03 1.3925220392997575e+00 3.7869470195982085e+00 4.7336837744977606e-01 4.0388830197745418e-01 8.0000000000000000e+00 4.7336837744977606e-01 6.2225668437041715e-01 1.3925220392997575e+00 +10 1.2500000000000000e+00 7.3072281393921149e-02 1.7046213776260069e+00 4.8826989774536607e+00 6.1033737218170758e-01 4.7679065459608067e-01 8.0000000000000000e+00 6.1033737218170758e-01 7.7449405174722386e-01 1.7046213776260069e+00 diff --git a/WaveToyX/test/radiative/wavetoyx-energy.it000010.x.tsv b/WaveToyX/test/radiative/wavetoyx-energy.it000010.x.tsv index 32ff11535..1cf3831a6 100644 --- a/WaveToyX/test/radiative/wavetoyx-energy.it000010.x.tsv +++ b/WaveToyX/test/radiative/wavetoyx-energy.it000010.x.tsv @@ -1,12 +1,12 @@ # 1:iteration 2:time 3:patch 4:level 5:i 6:j 7:k 8:x 9:y 10:z 11:eps -10 1.2500000000000000e+00 0 0 -1 4 4 -1.2500000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 5.2452704663223948e-01 -10 1.2500000000000000e+00 0 0 0 4 4 -1.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 5.2452704663223948e-01 -10 1.2500000000000000e+00 0 0 1 4 4 -7.5000000000000000e-01 0.0000000000000000e+00 0.0000000000000000e+00 1.0997082934729518e+00 -10 1.2500000000000000e+00 0 0 2 4 4 -5.0000000000000000e-01 0.0000000000000000e+00 0.0000000000000000e+00 1.3279825992709606e+00 -10 1.2500000000000000e+00 0 0 3 4 4 -2.5000000000000000e-01 0.0000000000000000e+00 0.0000000000000000e+00 1.0422623760839447e+00 +10 1.2500000000000000e+00 0 0 -1 4 4 -1.2500000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 5.6498428538602230e-01 +10 1.2500000000000000e+00 0 0 0 4 4 -1.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 5.6498428538602230e-01 +10 1.2500000000000000e+00 0 0 1 4 4 -7.5000000000000000e-01 0.0000000000000000e+00 0.0000000000000000e+00 1.3511610721017149e+00 +10 1.2500000000000000e+00 0 0 2 4 4 -5.0000000000000000e-01 0.0000000000000000e+00 0.0000000000000000e+00 1.7046213776260064e+00 +10 1.2500000000000000e+00 0 0 3 4 4 -2.5000000000000000e-01 0.0000000000000000e+00 0.0000000000000000e+00 1.2449313954215635e+00 10 1.2500000000000000e+00 0 0 4 4 4 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 9.5792866589677095e-01 -10 1.2500000000000000e+00 0 0 5 4 4 2.5000000000000000e-01 0.0000000000000000e+00 0.0000000000000000e+00 1.0422623760839418e+00 -10 1.2500000000000000e+00 0 0 6 4 4 5.0000000000000000e-01 0.0000000000000000e+00 0.0000000000000000e+00 1.3279825992709613e+00 -10 1.2500000000000000e+00 0 0 7 4 4 7.5000000000000000e-01 0.0000000000000000e+00 0.0000000000000000e+00 1.0997082934729483e+00 -10 1.2500000000000000e+00 0 0 8 4 4 1.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 5.2452704663223815e-01 -10 1.2500000000000000e+00 0 0 9 4 4 1.2500000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 5.2452704663223815e-01 +10 1.2500000000000000e+00 0 0 5 4 4 2.5000000000000000e-01 0.0000000000000000e+00 0.0000000000000000e+00 1.2449313954215615e+00 +10 1.2500000000000000e+00 0 0 6 4 4 5.0000000000000000e-01 0.0000000000000000e+00 0.0000000000000000e+00 1.7046213776260069e+00 +10 1.2500000000000000e+00 0 0 7 4 4 7.5000000000000000e-01 0.0000000000000000e+00 0.0000000000000000e+00 1.3511610721017100e+00 +10 1.2500000000000000e+00 0 0 8 4 4 1.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 5.6498428538602086e-01 +10 1.2500000000000000e+00 0 0 9 4 4 1.2500000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 5.6498428538602086e-01 diff --git a/WaveToyX/test/radiative/wavetoyx-energy.it000010.y.tsv b/WaveToyX/test/radiative/wavetoyx-energy.it000010.y.tsv index 9243949d6..2efbcc47b 100644 --- a/WaveToyX/test/radiative/wavetoyx-energy.it000010.y.tsv +++ b/WaveToyX/test/radiative/wavetoyx-energy.it000010.y.tsv @@ -1,12 +1,12 @@ # 1:iteration 2:time 3:patch 4:level 5:i 6:j 7:k 8:x 9:y 10:z 11:eps -10 1.2500000000000000e+00 0 0 4 -1 4 0.0000000000000000e+00 -1.2500000000000000e+00 0.0000000000000000e+00 5.2452704663223948e-01 -10 1.2500000000000000e+00 0 0 4 0 4 0.0000000000000000e+00 -1.0000000000000000e+00 0.0000000000000000e+00 5.2452704663223948e-01 -10 1.2500000000000000e+00 0 0 4 1 4 0.0000000000000000e+00 -7.5000000000000000e-01 0.0000000000000000e+00 1.0997082934729518e+00 -10 1.2500000000000000e+00 0 0 4 2 4 0.0000000000000000e+00 -5.0000000000000000e-01 0.0000000000000000e+00 1.3279825992709606e+00 -10 1.2500000000000000e+00 0 0 4 3 4 0.0000000000000000e+00 -2.5000000000000000e-01 0.0000000000000000e+00 1.0422623760839447e+00 +10 1.2500000000000000e+00 0 0 4 -1 4 0.0000000000000000e+00 -1.2500000000000000e+00 0.0000000000000000e+00 5.6498428538602230e-01 +10 1.2500000000000000e+00 0 0 4 0 4 0.0000000000000000e+00 -1.0000000000000000e+00 0.0000000000000000e+00 5.6498428538602230e-01 +10 1.2500000000000000e+00 0 0 4 1 4 0.0000000000000000e+00 -7.5000000000000000e-01 0.0000000000000000e+00 1.3511610721017149e+00 +10 1.2500000000000000e+00 0 0 4 2 4 0.0000000000000000e+00 -5.0000000000000000e-01 0.0000000000000000e+00 1.7046213776260064e+00 +10 1.2500000000000000e+00 0 0 4 3 4 0.0000000000000000e+00 -2.5000000000000000e-01 0.0000000000000000e+00 1.2449313954215635e+00 10 1.2500000000000000e+00 0 0 4 4 4 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 9.5792866589677095e-01 -10 1.2500000000000000e+00 0 0 4 5 4 0.0000000000000000e+00 2.5000000000000000e-01 0.0000000000000000e+00 1.0422623760839418e+00 -10 1.2500000000000000e+00 0 0 4 6 4 0.0000000000000000e+00 5.0000000000000000e-01 0.0000000000000000e+00 1.3279825992709613e+00 -10 1.2500000000000000e+00 0 0 4 7 4 0.0000000000000000e+00 7.5000000000000000e-01 0.0000000000000000e+00 1.0997082934729483e+00 -10 1.2500000000000000e+00 0 0 4 8 4 0.0000000000000000e+00 1.0000000000000000e+00 0.0000000000000000e+00 5.2452704663223815e-01 -10 1.2500000000000000e+00 0 0 4 9 4 0.0000000000000000e+00 1.2500000000000000e+00 0.0000000000000000e+00 5.2452704663223815e-01 +10 1.2500000000000000e+00 0 0 4 5 4 0.0000000000000000e+00 2.5000000000000000e-01 0.0000000000000000e+00 1.2449313954215615e+00 +10 1.2500000000000000e+00 0 0 4 6 4 0.0000000000000000e+00 5.0000000000000000e-01 0.0000000000000000e+00 1.7046213776260069e+00 +10 1.2500000000000000e+00 0 0 4 7 4 0.0000000000000000e+00 7.5000000000000000e-01 0.0000000000000000e+00 1.3511610721017100e+00 +10 1.2500000000000000e+00 0 0 4 8 4 0.0000000000000000e+00 1.0000000000000000e+00 0.0000000000000000e+00 5.6498428538602086e-01 +10 1.2500000000000000e+00 0 0 4 9 4 0.0000000000000000e+00 1.2500000000000000e+00 0.0000000000000000e+00 5.6498428538602086e-01 diff --git a/WaveToyX/test/radiative/wavetoyx-energy.it000010.z.tsv b/WaveToyX/test/radiative/wavetoyx-energy.it000010.z.tsv index 11155c0f9..e3dec97eb 100644 --- a/WaveToyX/test/radiative/wavetoyx-energy.it000010.z.tsv +++ b/WaveToyX/test/radiative/wavetoyx-energy.it000010.z.tsv @@ -1,12 +1,12 @@ # 1:iteration 2:time 3:patch 4:level 5:i 6:j 7:k 8:x 9:y 10:z 11:eps -10 1.2500000000000000e+00 0 0 4 4 -1 0.0000000000000000e+00 0.0000000000000000e+00 -1.2500000000000000e+00 5.2452704663223948e-01 -10 1.2500000000000000e+00 0 0 4 4 0 0.0000000000000000e+00 0.0000000000000000e+00 -1.0000000000000000e+00 5.2452704663223948e-01 -10 1.2500000000000000e+00 0 0 4 4 1 0.0000000000000000e+00 0.0000000000000000e+00 -7.5000000000000000e-01 1.0997082934729518e+00 -10 1.2500000000000000e+00 0 0 4 4 2 0.0000000000000000e+00 0.0000000000000000e+00 -5.0000000000000000e-01 1.3279825992709606e+00 -10 1.2500000000000000e+00 0 0 4 4 3 0.0000000000000000e+00 0.0000000000000000e+00 -2.5000000000000000e-01 1.0422623760839447e+00 +10 1.2500000000000000e+00 0 0 4 4 -1 0.0000000000000000e+00 0.0000000000000000e+00 -1.2500000000000000e+00 5.6498428538602230e-01 +10 1.2500000000000000e+00 0 0 4 4 0 0.0000000000000000e+00 0.0000000000000000e+00 -1.0000000000000000e+00 5.6498428538602230e-01 +10 1.2500000000000000e+00 0 0 4 4 1 0.0000000000000000e+00 0.0000000000000000e+00 -7.5000000000000000e-01 1.3511610721017149e+00 +10 1.2500000000000000e+00 0 0 4 4 2 0.0000000000000000e+00 0.0000000000000000e+00 -5.0000000000000000e-01 1.7046213776260064e+00 +10 1.2500000000000000e+00 0 0 4 4 3 0.0000000000000000e+00 0.0000000000000000e+00 -2.5000000000000000e-01 1.2449313954215635e+00 10 1.2500000000000000e+00 0 0 4 4 4 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 9.5792866589677095e-01 -10 1.2500000000000000e+00 0 0 4 4 5 0.0000000000000000e+00 0.0000000000000000e+00 2.5000000000000000e-01 1.0422623760839418e+00 -10 1.2500000000000000e+00 0 0 4 4 6 0.0000000000000000e+00 0.0000000000000000e+00 5.0000000000000000e-01 1.3279825992709613e+00 -10 1.2500000000000000e+00 0 0 4 4 7 0.0000000000000000e+00 0.0000000000000000e+00 7.5000000000000000e-01 1.0997082934729485e+00 -10 1.2500000000000000e+00 0 0 4 4 8 0.0000000000000000e+00 0.0000000000000000e+00 1.0000000000000000e+00 5.2452704663223815e-01 -10 1.2500000000000000e+00 0 0 4 4 9 0.0000000000000000e+00 0.0000000000000000e+00 1.2500000000000000e+00 5.2452704663223815e-01 +10 1.2500000000000000e+00 0 0 4 4 5 0.0000000000000000e+00 0.0000000000000000e+00 2.5000000000000000e-01 1.2449313954215615e+00 +10 1.2500000000000000e+00 0 0 4 4 6 0.0000000000000000e+00 0.0000000000000000e+00 5.0000000000000000e-01 1.7046213776260069e+00 +10 1.2500000000000000e+00 0 0 4 4 7 0.0000000000000000e+00 0.0000000000000000e+00 7.5000000000000000e-01 1.3511610721017102e+00 +10 1.2500000000000000e+00 0 0 4 4 8 0.0000000000000000e+00 0.0000000000000000e+00 1.0000000000000000e+00 5.6498428538602086e-01 +10 1.2500000000000000e+00 0 0 4 4 9 0.0000000000000000e+00 0.0000000000000000e+00 1.2500000000000000e+00 5.6498428538602086e-01 diff --git a/WaveToyX/test/reflecting/norms/wavetoyx-energy.tsv b/WaveToyX/test/reflecting/norms/wavetoyx-energy.tsv index 81b4e43e8..d340d2eee 100644 --- a/WaveToyX/test/reflecting/norms/wavetoyx-energy.tsv +++ b/WaveToyX/test/reflecting/norms/wavetoyx-energy.tsv @@ -1,3 +1,3 @@ # 1:iteration 2:time 3:wavetoyx::eps.min 4:wavetoyx::eps.max 5:wavetoyx::eps.sum 6:wavetoyx::eps.avg 7:wavetoyx::eps.stddev 8:wavetoyx::eps.volume 9:wavetoyx::eps.L1norm 10:wavetoyx::eps.L2norm 11:wavetoyx::eps.maxabs -0 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 8.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 -10 1.2500000000000000e+00 2.5487744213641988e-05 1.8693138321278164e+00 1.2073957303646985e+00 1.5092446629558731e-01 2.1231004352953503e-01 8.0000000000000000e+00 1.5092446629558731e-01 2.6048752198545122e-01 1.8693138321278164e+00 +0 0.0000000000000000e+00 0.0000000000000000e+00 3.9999999999999991e+00 1.2128679656440356e+01 1.5160849570550445e+00 9.1982527285956017e-01 8.0000000000000000e+00 1.5160849570550445e+00 1.7732997855973931e+00 3.9999999999999991e+00 +10 1.2500000000000000e+00 1.0575339107457568e-02 2.5741675161779991e+00 4.0883798011794656e+00 5.1104747514743321e-01 4.1439863053009873e-01 8.0000000000000000e+00 5.1104747514743321e-01 6.5794813385234829e-01 2.5741675161779991e+00 diff --git a/WaveToyX/test/reflecting/wavetoyx-energy.it000000.x.tsv b/WaveToyX/test/reflecting/wavetoyx-energy.it000000.x.tsv index 669ef1369..f6da54889 100644 --- a/WaveToyX/test/reflecting/wavetoyx-energy.it000000.x.tsv +++ b/WaveToyX/test/reflecting/wavetoyx-energy.it000000.x.tsv @@ -1,12 +1,12 @@ # 1:iteration 2:time 3:patch 4:level 5:i 6:j 7:k 8:x 9:y 10:z 11:eps -0 0.0000000000000000e+00 0 0 -1 4 4 -1.2500000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 -0 0.0000000000000000e+00 0 0 0 4 4 -1.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 -0 0.0000000000000000e+00 0 0 1 4 4 -7.5000000000000000e-01 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 -0 0.0000000000000000e+00 0 0 2 4 4 -5.0000000000000000e-01 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 -0 0.0000000000000000e+00 0 0 3 4 4 -2.5000000000000000e-01 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +0 0.0000000000000000e+00 0 0 -1 4 4 -1.2500000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 1.7157287525380999e-01 +0 0.0000000000000000e+00 0 0 0 4 4 -1.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 1.7157287525380999e-01 +0 0.0000000000000000e+00 0 0 1 4 4 -7.5000000000000000e-01 0.0000000000000000e+00 0.0000000000000000e+00 2.0000000000000000e+00 +0 0.0000000000000000e+00 0 0 2 4 4 -5.0000000000000000e-01 0.0000000000000000e+00 0.0000000000000000e+00 3.9999999999999991e+00 +0 0.0000000000000000e+00 0 0 3 4 4 -2.5000000000000000e-01 0.0000000000000000e+00 0.0000000000000000e+00 1.9999999999999996e+00 0 0.0000000000000000e+00 0 0 4 4 4 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 -0 0.0000000000000000e+00 0 0 5 4 4 2.5000000000000000e-01 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 -0 0.0000000000000000e+00 0 0 6 4 4 5.0000000000000000e-01 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 -0 0.0000000000000000e+00 0 0 7 4 4 7.5000000000000000e-01 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 -0 0.0000000000000000e+00 0 0 8 4 4 1.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 -0 0.0000000000000000e+00 0 0 9 4 4 1.2500000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +0 0.0000000000000000e+00 0 0 5 4 4 2.5000000000000000e-01 0.0000000000000000e+00 0.0000000000000000e+00 1.9999999999999996e+00 +0 0.0000000000000000e+00 0 0 6 4 4 5.0000000000000000e-01 0.0000000000000000e+00 0.0000000000000000e+00 3.9999999999999991e+00 +0 0.0000000000000000e+00 0 0 7 4 4 7.5000000000000000e-01 0.0000000000000000e+00 0.0000000000000000e+00 2.0000000000000000e+00 +0 0.0000000000000000e+00 0 0 8 4 4 1.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 1.7157287525380999e-01 +0 0.0000000000000000e+00 0 0 9 4 4 1.2500000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 1.7157287525380999e-01 diff --git a/WaveToyX/test/reflecting/wavetoyx-energy.it000000.y.tsv b/WaveToyX/test/reflecting/wavetoyx-energy.it000000.y.tsv index ada41cebf..d46937498 100644 --- a/WaveToyX/test/reflecting/wavetoyx-energy.it000000.y.tsv +++ b/WaveToyX/test/reflecting/wavetoyx-energy.it000000.y.tsv @@ -1,12 +1,12 @@ # 1:iteration 2:time 3:patch 4:level 5:i 6:j 7:k 8:x 9:y 10:z 11:eps -0 0.0000000000000000e+00 0 0 4 -1 4 0.0000000000000000e+00 -1.2500000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 -0 0.0000000000000000e+00 0 0 4 0 4 0.0000000000000000e+00 -1.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 -0 0.0000000000000000e+00 0 0 4 1 4 0.0000000000000000e+00 -7.5000000000000000e-01 0.0000000000000000e+00 0.0000000000000000e+00 -0 0.0000000000000000e+00 0 0 4 2 4 0.0000000000000000e+00 -5.0000000000000000e-01 0.0000000000000000e+00 0.0000000000000000e+00 -0 0.0000000000000000e+00 0 0 4 3 4 0.0000000000000000e+00 -2.5000000000000000e-01 0.0000000000000000e+00 0.0000000000000000e+00 +0 0.0000000000000000e+00 0 0 4 -1 4 0.0000000000000000e+00 -1.2500000000000000e+00 0.0000000000000000e+00 1.7157287525380999e-01 +0 0.0000000000000000e+00 0 0 4 0 4 0.0000000000000000e+00 -1.0000000000000000e+00 0.0000000000000000e+00 1.7157287525380999e-01 +0 0.0000000000000000e+00 0 0 4 1 4 0.0000000000000000e+00 -7.5000000000000000e-01 0.0000000000000000e+00 2.0000000000000000e+00 +0 0.0000000000000000e+00 0 0 4 2 4 0.0000000000000000e+00 -5.0000000000000000e-01 0.0000000000000000e+00 3.9999999999999991e+00 +0 0.0000000000000000e+00 0 0 4 3 4 0.0000000000000000e+00 -2.5000000000000000e-01 0.0000000000000000e+00 1.9999999999999996e+00 0 0.0000000000000000e+00 0 0 4 4 4 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 -0 0.0000000000000000e+00 0 0 4 5 4 0.0000000000000000e+00 2.5000000000000000e-01 0.0000000000000000e+00 0.0000000000000000e+00 -0 0.0000000000000000e+00 0 0 4 6 4 0.0000000000000000e+00 5.0000000000000000e-01 0.0000000000000000e+00 0.0000000000000000e+00 -0 0.0000000000000000e+00 0 0 4 7 4 0.0000000000000000e+00 7.5000000000000000e-01 0.0000000000000000e+00 0.0000000000000000e+00 -0 0.0000000000000000e+00 0 0 4 8 4 0.0000000000000000e+00 1.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 -0 0.0000000000000000e+00 0 0 4 9 4 0.0000000000000000e+00 1.2500000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +0 0.0000000000000000e+00 0 0 4 5 4 0.0000000000000000e+00 2.5000000000000000e-01 0.0000000000000000e+00 1.9999999999999996e+00 +0 0.0000000000000000e+00 0 0 4 6 4 0.0000000000000000e+00 5.0000000000000000e-01 0.0000000000000000e+00 3.9999999999999991e+00 +0 0.0000000000000000e+00 0 0 4 7 4 0.0000000000000000e+00 7.5000000000000000e-01 0.0000000000000000e+00 2.0000000000000000e+00 +0 0.0000000000000000e+00 0 0 4 8 4 0.0000000000000000e+00 1.0000000000000000e+00 0.0000000000000000e+00 1.7157287525380999e-01 +0 0.0000000000000000e+00 0 0 4 9 4 0.0000000000000000e+00 1.2500000000000000e+00 0.0000000000000000e+00 1.7157287525380999e-01 diff --git a/WaveToyX/test/reflecting/wavetoyx-energy.it000000.z.tsv b/WaveToyX/test/reflecting/wavetoyx-energy.it000000.z.tsv index 4224f2c55..b21cf32ec 100644 --- a/WaveToyX/test/reflecting/wavetoyx-energy.it000000.z.tsv +++ b/WaveToyX/test/reflecting/wavetoyx-energy.it000000.z.tsv @@ -1,12 +1,12 @@ # 1:iteration 2:time 3:patch 4:level 5:i 6:j 7:k 8:x 9:y 10:z 11:eps -0 0.0000000000000000e+00 0 0 4 4 -1 0.0000000000000000e+00 0.0000000000000000e+00 -1.2500000000000000e+00 0.0000000000000000e+00 -0 0.0000000000000000e+00 0 0 4 4 0 0.0000000000000000e+00 0.0000000000000000e+00 -1.0000000000000000e+00 0.0000000000000000e+00 -0 0.0000000000000000e+00 0 0 4 4 1 0.0000000000000000e+00 0.0000000000000000e+00 -7.5000000000000000e-01 0.0000000000000000e+00 -0 0.0000000000000000e+00 0 0 4 4 2 0.0000000000000000e+00 0.0000000000000000e+00 -5.0000000000000000e-01 0.0000000000000000e+00 -0 0.0000000000000000e+00 0 0 4 4 3 0.0000000000000000e+00 0.0000000000000000e+00 -2.5000000000000000e-01 0.0000000000000000e+00 +0 0.0000000000000000e+00 0 0 4 4 -1 0.0000000000000000e+00 0.0000000000000000e+00 -1.2500000000000000e+00 1.7157287525380999e-01 +0 0.0000000000000000e+00 0 0 4 4 0 0.0000000000000000e+00 0.0000000000000000e+00 -1.0000000000000000e+00 1.7157287525380999e-01 +0 0.0000000000000000e+00 0 0 4 4 1 0.0000000000000000e+00 0.0000000000000000e+00 -7.5000000000000000e-01 2.0000000000000000e+00 +0 0.0000000000000000e+00 0 0 4 4 2 0.0000000000000000e+00 0.0000000000000000e+00 -5.0000000000000000e-01 3.9999999999999991e+00 +0 0.0000000000000000e+00 0 0 4 4 3 0.0000000000000000e+00 0.0000000000000000e+00 -2.5000000000000000e-01 1.9999999999999996e+00 0 0.0000000000000000e+00 0 0 4 4 4 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 -0 0.0000000000000000e+00 0 0 4 4 5 0.0000000000000000e+00 0.0000000000000000e+00 2.5000000000000000e-01 0.0000000000000000e+00 -0 0.0000000000000000e+00 0 0 4 4 6 0.0000000000000000e+00 0.0000000000000000e+00 5.0000000000000000e-01 0.0000000000000000e+00 -0 0.0000000000000000e+00 0 0 4 4 7 0.0000000000000000e+00 0.0000000000000000e+00 7.5000000000000000e-01 0.0000000000000000e+00 -0 0.0000000000000000e+00 0 0 4 4 8 0.0000000000000000e+00 0.0000000000000000e+00 1.0000000000000000e+00 0.0000000000000000e+00 -0 0.0000000000000000e+00 0 0 4 4 9 0.0000000000000000e+00 0.0000000000000000e+00 1.2500000000000000e+00 0.0000000000000000e+00 +0 0.0000000000000000e+00 0 0 4 4 5 0.0000000000000000e+00 0.0000000000000000e+00 2.5000000000000000e-01 1.9999999999999996e+00 +0 0.0000000000000000e+00 0 0 4 4 6 0.0000000000000000e+00 0.0000000000000000e+00 5.0000000000000000e-01 3.9999999999999991e+00 +0 0.0000000000000000e+00 0 0 4 4 7 0.0000000000000000e+00 0.0000000000000000e+00 7.5000000000000000e-01 2.0000000000000000e+00 +0 0.0000000000000000e+00 0 0 4 4 8 0.0000000000000000e+00 0.0000000000000000e+00 1.0000000000000000e+00 1.7157287525380999e-01 +0 0.0000000000000000e+00 0 0 4 4 9 0.0000000000000000e+00 0.0000000000000000e+00 1.2500000000000000e+00 1.7157287525380999e-01 diff --git a/WaveToyX/test/reflecting/wavetoyx-energy.it000010.x.tsv b/WaveToyX/test/reflecting/wavetoyx-energy.it000010.x.tsv index 0d23b2b9f..cc00df22e 100644 --- a/WaveToyX/test/reflecting/wavetoyx-energy.it000010.x.tsv +++ b/WaveToyX/test/reflecting/wavetoyx-energy.it000010.x.tsv @@ -1,12 +1,12 @@ # 1:iteration 2:time 3:patch 4:level 5:i 6:j 7:k 8:x 9:y 10:z 11:eps -10 1.2500000000000000e+00 0 0 -1 4 4 -1.2500000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 2.8766075924904727e-01 -10 1.2500000000000000e+00 0 0 0 4 4 -1.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 2.8766075924904727e-01 -10 1.2500000000000000e+00 0 0 1 4 4 -7.5000000000000000e-01 0.0000000000000000e+00 0.0000000000000000e+00 1.1322487722581676e+00 -10 1.2500000000000000e+00 0 0 2 4 4 -5.0000000000000000e-01 0.0000000000000000e+00 0.0000000000000000e+00 1.8677619925288502e-01 -10 1.2500000000000000e+00 0 0 3 4 4 -2.5000000000000000e-01 0.0000000000000000e+00 0.0000000000000000e+00 4.3685213820798779e-01 +10 1.2500000000000000e+00 0 0 -1 4 4 -1.2500000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 3.2293145528905093e-01 +10 1.2500000000000000e+00 0 0 0 4 4 -1.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 3.2293145528905093e-01 +10 1.2500000000000000e+00 0 0 1 4 4 -7.5000000000000000e-01 0.0000000000000000e+00 0.0000000000000000e+00 1.7059802489432636e+00 +10 1.2500000000000000e+00 0 0 2 4 4 -5.0000000000000000e-01 0.0000000000000000e+00 0.0000000000000000e+00 1.6900724701737779e+00 +10 1.2500000000000000e+00 0 0 3 4 4 -2.5000000000000000e-01 0.0000000000000000e+00 0.0000000000000000e+00 1.3488539662246364e+00 10 1.2500000000000000e+00 0 0 4 4 4 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 1.3786937391375003e+00 -10 1.2500000000000000e+00 0 0 5 4 4 2.5000000000000000e-01 0.0000000000000000e+00 0.0000000000000000e+00 4.3685213820798685e-01 -10 1.2500000000000000e+00 0 0 6 4 4 5.0000000000000000e-01 0.0000000000000000e+00 0.0000000000000000e+00 1.8677619925288447e-01 -10 1.2500000000000000e+00 0 0 7 4 4 7.5000000000000000e-01 0.0000000000000000e+00 0.0000000000000000e+00 1.1322487722581658e+00 -10 1.2500000000000000e+00 0 0 8 4 4 1.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 2.8766075924904544e-01 -10 1.2500000000000000e+00 0 0 9 4 4 1.2500000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 2.8766075924904544e-01 +10 1.2500000000000000e+00 0 0 5 4 4 2.5000000000000000e-01 0.0000000000000000e+00 0.0000000000000000e+00 1.3488539662246355e+00 +10 1.2500000000000000e+00 0 0 6 4 4 5.0000000000000000e-01 0.0000000000000000e+00 0.0000000000000000e+00 1.6900724701737777e+00 +10 1.2500000000000000e+00 0 0 7 4 4 7.5000000000000000e-01 0.0000000000000000e+00 0.0000000000000000e+00 1.7059802489432627e+00 +10 1.2500000000000000e+00 0 0 8 4 4 1.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 3.2293145528904921e-01 +10 1.2500000000000000e+00 0 0 9 4 4 1.2500000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 3.2293145528904921e-01 diff --git a/WaveToyX/test/reflecting/wavetoyx-energy.it000010.y.tsv b/WaveToyX/test/reflecting/wavetoyx-energy.it000010.y.tsv index 32b08fc67..0cf6994be 100644 --- a/WaveToyX/test/reflecting/wavetoyx-energy.it000010.y.tsv +++ b/WaveToyX/test/reflecting/wavetoyx-energy.it000010.y.tsv @@ -1,12 +1,12 @@ # 1:iteration 2:time 3:patch 4:level 5:i 6:j 7:k 8:x 9:y 10:z 11:eps -10 1.2500000000000000e+00 0 0 4 -1 4 0.0000000000000000e+00 -1.2500000000000000e+00 0.0000000000000000e+00 2.8766075924904727e-01 -10 1.2500000000000000e+00 0 0 4 0 4 0.0000000000000000e+00 -1.0000000000000000e+00 0.0000000000000000e+00 2.8766075924904727e-01 -10 1.2500000000000000e+00 0 0 4 1 4 0.0000000000000000e+00 -7.5000000000000000e-01 0.0000000000000000e+00 1.1322487722581676e+00 -10 1.2500000000000000e+00 0 0 4 2 4 0.0000000000000000e+00 -5.0000000000000000e-01 0.0000000000000000e+00 1.8677619925288502e-01 -10 1.2500000000000000e+00 0 0 4 3 4 0.0000000000000000e+00 -2.5000000000000000e-01 0.0000000000000000e+00 4.3685213820798779e-01 +10 1.2500000000000000e+00 0 0 4 -1 4 0.0000000000000000e+00 -1.2500000000000000e+00 0.0000000000000000e+00 3.2293145528905093e-01 +10 1.2500000000000000e+00 0 0 4 0 4 0.0000000000000000e+00 -1.0000000000000000e+00 0.0000000000000000e+00 3.2293145528905093e-01 +10 1.2500000000000000e+00 0 0 4 1 4 0.0000000000000000e+00 -7.5000000000000000e-01 0.0000000000000000e+00 1.7059802489432636e+00 +10 1.2500000000000000e+00 0 0 4 2 4 0.0000000000000000e+00 -5.0000000000000000e-01 0.0000000000000000e+00 1.6900724701737779e+00 +10 1.2500000000000000e+00 0 0 4 3 4 0.0000000000000000e+00 -2.5000000000000000e-01 0.0000000000000000e+00 1.3488539662246364e+00 10 1.2500000000000000e+00 0 0 4 4 4 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 1.3786937391375003e+00 -10 1.2500000000000000e+00 0 0 4 5 4 0.0000000000000000e+00 2.5000000000000000e-01 0.0000000000000000e+00 4.3685213820798685e-01 -10 1.2500000000000000e+00 0 0 4 6 4 0.0000000000000000e+00 5.0000000000000000e-01 0.0000000000000000e+00 1.8677619925288447e-01 -10 1.2500000000000000e+00 0 0 4 7 4 0.0000000000000000e+00 7.5000000000000000e-01 0.0000000000000000e+00 1.1322487722581658e+00 -10 1.2500000000000000e+00 0 0 4 8 4 0.0000000000000000e+00 1.0000000000000000e+00 0.0000000000000000e+00 2.8766075924904544e-01 -10 1.2500000000000000e+00 0 0 4 9 4 0.0000000000000000e+00 1.2500000000000000e+00 0.0000000000000000e+00 2.8766075924904544e-01 +10 1.2500000000000000e+00 0 0 4 5 4 0.0000000000000000e+00 2.5000000000000000e-01 0.0000000000000000e+00 1.3488539662246355e+00 +10 1.2500000000000000e+00 0 0 4 6 4 0.0000000000000000e+00 5.0000000000000000e-01 0.0000000000000000e+00 1.6900724701737777e+00 +10 1.2500000000000000e+00 0 0 4 7 4 0.0000000000000000e+00 7.5000000000000000e-01 0.0000000000000000e+00 1.7059802489432627e+00 +10 1.2500000000000000e+00 0 0 4 8 4 0.0000000000000000e+00 1.0000000000000000e+00 0.0000000000000000e+00 3.2293145528904921e-01 +10 1.2500000000000000e+00 0 0 4 9 4 0.0000000000000000e+00 1.2500000000000000e+00 0.0000000000000000e+00 3.2293145528904921e-01 diff --git a/WaveToyX/test/reflecting/wavetoyx-energy.it000010.z.tsv b/WaveToyX/test/reflecting/wavetoyx-energy.it000010.z.tsv index e1436fe06..0846f81f9 100644 --- a/WaveToyX/test/reflecting/wavetoyx-energy.it000010.z.tsv +++ b/WaveToyX/test/reflecting/wavetoyx-energy.it000010.z.tsv @@ -1,12 +1,12 @@ # 1:iteration 2:time 3:patch 4:level 5:i 6:j 7:k 8:x 9:y 10:z 11:eps -10 1.2500000000000000e+00 0 0 4 4 -1 0.0000000000000000e+00 0.0000000000000000e+00 -1.2500000000000000e+00 2.8766075924904611e-01 -10 1.2500000000000000e+00 0 0 4 4 0 0.0000000000000000e+00 0.0000000000000000e+00 -1.0000000000000000e+00 2.8766075924904611e-01 -10 1.2500000000000000e+00 0 0 4 4 1 0.0000000000000000e+00 0.0000000000000000e+00 -7.5000000000000000e-01 1.1322487722581678e+00 -10 1.2500000000000000e+00 0 0 4 4 2 0.0000000000000000e+00 0.0000000000000000e+00 -5.0000000000000000e-01 1.8677619925288461e-01 -10 1.2500000000000000e+00 0 0 4 4 3 0.0000000000000000e+00 0.0000000000000000e+00 -2.5000000000000000e-01 4.3685213820798685e-01 +10 1.2500000000000000e+00 0 0 4 4 -1 0.0000000000000000e+00 0.0000000000000000e+00 -1.2500000000000000e+00 3.2293145528904982e-01 +10 1.2500000000000000e+00 0 0 4 4 0 0.0000000000000000e+00 0.0000000000000000e+00 -1.0000000000000000e+00 3.2293145528904982e-01 +10 1.2500000000000000e+00 0 0 4 4 1 0.0000000000000000e+00 0.0000000000000000e+00 -7.5000000000000000e-01 1.7059802489432641e+00 +10 1.2500000000000000e+00 0 0 4 4 2 0.0000000000000000e+00 0.0000000000000000e+00 -5.0000000000000000e-01 1.6900724701737773e+00 +10 1.2500000000000000e+00 0 0 4 4 3 0.0000000000000000e+00 0.0000000000000000e+00 -2.5000000000000000e-01 1.3488539662246355e+00 10 1.2500000000000000e+00 0 0 4 4 4 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 1.3786937391375003e+00 -10 1.2500000000000000e+00 0 0 4 4 5 0.0000000000000000e+00 0.0000000000000000e+00 2.5000000000000000e-01 4.3685213820798685e-01 -10 1.2500000000000000e+00 0 0 4 4 6 0.0000000000000000e+00 0.0000000000000000e+00 5.0000000000000000e-01 1.8677619925288461e-01 -10 1.2500000000000000e+00 0 0 4 4 7 0.0000000000000000e+00 0.0000000000000000e+00 7.5000000000000000e-01 1.1322487722581676e+00 -10 1.2500000000000000e+00 0 0 4 4 8 0.0000000000000000e+00 0.0000000000000000e+00 1.0000000000000000e+00 2.8766075924904805e-01 -10 1.2500000000000000e+00 0 0 4 4 9 0.0000000000000000e+00 0.0000000000000000e+00 1.2500000000000000e+00 2.8766075924904805e-01 +10 1.2500000000000000e+00 0 0 4 4 5 0.0000000000000000e+00 0.0000000000000000e+00 2.5000000000000000e-01 1.3488539662246359e+00 +10 1.2500000000000000e+00 0 0 4 4 6 0.0000000000000000e+00 0.0000000000000000e+00 5.0000000000000000e-01 1.6900724701737788e+00 +10 1.2500000000000000e+00 0 0 4 4 7 0.0000000000000000e+00 0.0000000000000000e+00 7.5000000000000000e-01 1.7059802489432641e+00 +10 1.2500000000000000e+00 0 0 4 4 8 0.0000000000000000e+00 0.0000000000000000e+00 1.0000000000000000e+00 3.2293145528905171e-01 +10 1.2500000000000000e+00 0 0 4 4 9 0.0000000000000000e+00 0.0000000000000000e+00 1.2500000000000000e+00 3.2293145528905171e-01 diff --git a/WaveToyX/test/standing/norms/wavetoyx-energy.tsv b/WaveToyX/test/standing/norms/wavetoyx-energy.tsv index 6da23eb87..3e15a0018 100644 --- a/WaveToyX/test/standing/norms/wavetoyx-energy.tsv +++ b/WaveToyX/test/standing/norms/wavetoyx-energy.tsv @@ -1,3 +1,3 @@ # 1:iteration 2:time 3:wavetoyx::eps.min 4:wavetoyx::eps.max 5:wavetoyx::eps.sum 6:wavetoyx::eps.avg 7:wavetoyx::eps.stddev 8:wavetoyx::eps.volume 9:wavetoyx::eps.L1norm 10:wavetoyx::eps.L2norm 11:wavetoyx::eps.maxabs -0 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 8.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 -10 1.2500000000000000e+00 3.2194757302353467e-36 1.7339020986772802e+00 1.7339020986772795e+00 2.1673776233465994e-01 3.3401532427698494e-01 8.0000000000000000e+00 2.1673776233465994e-01 3.9817269428439578e-01 1.7339020986772802e+00 +0 0.0000000000000000e+00 0.0000000000000000e+00 3.9999999999999991e+00 1.2000000000000000e+01 1.5000000000000000e+00 9.1855865354369159e-01 8.0000000000000000e+00 1.5000000000000000e+00 1.7589059099337860e+00 3.9999999999999991e+00 +10 1.2500000000000000e+00 3.0635765267228182e-33 2.9902155711737288e+00 1.0704548812198462e+01 1.3380686015248078e+00 8.0239858560267252e-01 8.0000000000000000e+00 1.3380686015248078e+00 1.5602150725344646e+00 2.9902155711737288e+00 diff --git a/WaveToyX/test/standing/wavetoyx-energy.it000000.x.tsv b/WaveToyX/test/standing/wavetoyx-energy.it000000.x.tsv index 669ef1369..cec31554f 100644 --- a/WaveToyX/test/standing/wavetoyx-energy.it000000.x.tsv +++ b/WaveToyX/test/standing/wavetoyx-energy.it000000.x.tsv @@ -1,12 +1,12 @@ # 1:iteration 2:time 3:patch 4:level 5:i 6:j 7:k 8:x 9:y 10:z 11:eps -0 0.0000000000000000e+00 0 0 -1 4 4 -1.2500000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +0 0.0000000000000000e+00 0 0 -1 4 4 -1.2500000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 2.0000000000000000e+00 0 0.0000000000000000e+00 0 0 0 4 4 -1.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 -0 0.0000000000000000e+00 0 0 1 4 4 -7.5000000000000000e-01 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 -0 0.0000000000000000e+00 0 0 2 4 4 -5.0000000000000000e-01 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 -0 0.0000000000000000e+00 0 0 3 4 4 -2.5000000000000000e-01 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +0 0.0000000000000000e+00 0 0 1 4 4 -7.5000000000000000e-01 0.0000000000000000e+00 0.0000000000000000e+00 2.0000000000000000e+00 +0 0.0000000000000000e+00 0 0 2 4 4 -5.0000000000000000e-01 0.0000000000000000e+00 0.0000000000000000e+00 3.9999999999999991e+00 +0 0.0000000000000000e+00 0 0 3 4 4 -2.5000000000000000e-01 0.0000000000000000e+00 0.0000000000000000e+00 1.9999999999999996e+00 0 0.0000000000000000e+00 0 0 4 4 4 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 -0 0.0000000000000000e+00 0 0 5 4 4 2.5000000000000000e-01 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 -0 0.0000000000000000e+00 0 0 6 4 4 5.0000000000000000e-01 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 -0 0.0000000000000000e+00 0 0 7 4 4 7.5000000000000000e-01 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +0 0.0000000000000000e+00 0 0 5 4 4 2.5000000000000000e-01 0.0000000000000000e+00 0.0000000000000000e+00 1.9999999999999996e+00 +0 0.0000000000000000e+00 0 0 6 4 4 5.0000000000000000e-01 0.0000000000000000e+00 0.0000000000000000e+00 3.9999999999999991e+00 +0 0.0000000000000000e+00 0 0 7 4 4 7.5000000000000000e-01 0.0000000000000000e+00 0.0000000000000000e+00 2.0000000000000000e+00 0 0.0000000000000000e+00 0 0 8 4 4 1.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 -0 0.0000000000000000e+00 0 0 9 4 4 1.2500000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +0 0.0000000000000000e+00 0 0 9 4 4 1.2500000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 2.0000000000000000e+00 diff --git a/WaveToyX/test/standing/wavetoyx-energy.it000000.y.tsv b/WaveToyX/test/standing/wavetoyx-energy.it000000.y.tsv index ada41cebf..1db82f115 100644 --- a/WaveToyX/test/standing/wavetoyx-energy.it000000.y.tsv +++ b/WaveToyX/test/standing/wavetoyx-energy.it000000.y.tsv @@ -1,12 +1,12 @@ # 1:iteration 2:time 3:patch 4:level 5:i 6:j 7:k 8:x 9:y 10:z 11:eps -0 0.0000000000000000e+00 0 0 4 -1 4 0.0000000000000000e+00 -1.2500000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +0 0.0000000000000000e+00 0 0 4 -1 4 0.0000000000000000e+00 -1.2500000000000000e+00 0.0000000000000000e+00 2.0000000000000000e+00 0 0.0000000000000000e+00 0 0 4 0 4 0.0000000000000000e+00 -1.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 -0 0.0000000000000000e+00 0 0 4 1 4 0.0000000000000000e+00 -7.5000000000000000e-01 0.0000000000000000e+00 0.0000000000000000e+00 -0 0.0000000000000000e+00 0 0 4 2 4 0.0000000000000000e+00 -5.0000000000000000e-01 0.0000000000000000e+00 0.0000000000000000e+00 -0 0.0000000000000000e+00 0 0 4 3 4 0.0000000000000000e+00 -2.5000000000000000e-01 0.0000000000000000e+00 0.0000000000000000e+00 +0 0.0000000000000000e+00 0 0 4 1 4 0.0000000000000000e+00 -7.5000000000000000e-01 0.0000000000000000e+00 2.0000000000000000e+00 +0 0.0000000000000000e+00 0 0 4 2 4 0.0000000000000000e+00 -5.0000000000000000e-01 0.0000000000000000e+00 3.9999999999999991e+00 +0 0.0000000000000000e+00 0 0 4 3 4 0.0000000000000000e+00 -2.5000000000000000e-01 0.0000000000000000e+00 1.9999999999999996e+00 0 0.0000000000000000e+00 0 0 4 4 4 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 -0 0.0000000000000000e+00 0 0 4 5 4 0.0000000000000000e+00 2.5000000000000000e-01 0.0000000000000000e+00 0.0000000000000000e+00 -0 0.0000000000000000e+00 0 0 4 6 4 0.0000000000000000e+00 5.0000000000000000e-01 0.0000000000000000e+00 0.0000000000000000e+00 -0 0.0000000000000000e+00 0 0 4 7 4 0.0000000000000000e+00 7.5000000000000000e-01 0.0000000000000000e+00 0.0000000000000000e+00 +0 0.0000000000000000e+00 0 0 4 5 4 0.0000000000000000e+00 2.5000000000000000e-01 0.0000000000000000e+00 1.9999999999999996e+00 +0 0.0000000000000000e+00 0 0 4 6 4 0.0000000000000000e+00 5.0000000000000000e-01 0.0000000000000000e+00 3.9999999999999991e+00 +0 0.0000000000000000e+00 0 0 4 7 4 0.0000000000000000e+00 7.5000000000000000e-01 0.0000000000000000e+00 2.0000000000000000e+00 0 0.0000000000000000e+00 0 0 4 8 4 0.0000000000000000e+00 1.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 -0 0.0000000000000000e+00 0 0 4 9 4 0.0000000000000000e+00 1.2500000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +0 0.0000000000000000e+00 0 0 4 9 4 0.0000000000000000e+00 1.2500000000000000e+00 0.0000000000000000e+00 2.0000000000000000e+00 diff --git a/WaveToyX/test/standing/wavetoyx-energy.it000000.z.tsv b/WaveToyX/test/standing/wavetoyx-energy.it000000.z.tsv index 4224f2c55..e88449589 100644 --- a/WaveToyX/test/standing/wavetoyx-energy.it000000.z.tsv +++ b/WaveToyX/test/standing/wavetoyx-energy.it000000.z.tsv @@ -1,12 +1,12 @@ # 1:iteration 2:time 3:patch 4:level 5:i 6:j 7:k 8:x 9:y 10:z 11:eps -0 0.0000000000000000e+00 0 0 4 4 -1 0.0000000000000000e+00 0.0000000000000000e+00 -1.2500000000000000e+00 0.0000000000000000e+00 +0 0.0000000000000000e+00 0 0 4 4 -1 0.0000000000000000e+00 0.0000000000000000e+00 -1.2500000000000000e+00 2.0000000000000000e+00 0 0.0000000000000000e+00 0 0 4 4 0 0.0000000000000000e+00 0.0000000000000000e+00 -1.0000000000000000e+00 0.0000000000000000e+00 -0 0.0000000000000000e+00 0 0 4 4 1 0.0000000000000000e+00 0.0000000000000000e+00 -7.5000000000000000e-01 0.0000000000000000e+00 -0 0.0000000000000000e+00 0 0 4 4 2 0.0000000000000000e+00 0.0000000000000000e+00 -5.0000000000000000e-01 0.0000000000000000e+00 -0 0.0000000000000000e+00 0 0 4 4 3 0.0000000000000000e+00 0.0000000000000000e+00 -2.5000000000000000e-01 0.0000000000000000e+00 +0 0.0000000000000000e+00 0 0 4 4 1 0.0000000000000000e+00 0.0000000000000000e+00 -7.5000000000000000e-01 2.0000000000000000e+00 +0 0.0000000000000000e+00 0 0 4 4 2 0.0000000000000000e+00 0.0000000000000000e+00 -5.0000000000000000e-01 3.9999999999999991e+00 +0 0.0000000000000000e+00 0 0 4 4 3 0.0000000000000000e+00 0.0000000000000000e+00 -2.5000000000000000e-01 1.9999999999999996e+00 0 0.0000000000000000e+00 0 0 4 4 4 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 -0 0.0000000000000000e+00 0 0 4 4 5 0.0000000000000000e+00 0.0000000000000000e+00 2.5000000000000000e-01 0.0000000000000000e+00 -0 0.0000000000000000e+00 0 0 4 4 6 0.0000000000000000e+00 0.0000000000000000e+00 5.0000000000000000e-01 0.0000000000000000e+00 -0 0.0000000000000000e+00 0 0 4 4 7 0.0000000000000000e+00 0.0000000000000000e+00 7.5000000000000000e-01 0.0000000000000000e+00 +0 0.0000000000000000e+00 0 0 4 4 5 0.0000000000000000e+00 0.0000000000000000e+00 2.5000000000000000e-01 1.9999999999999996e+00 +0 0.0000000000000000e+00 0 0 4 4 6 0.0000000000000000e+00 0.0000000000000000e+00 5.0000000000000000e-01 3.9999999999999991e+00 +0 0.0000000000000000e+00 0 0 4 4 7 0.0000000000000000e+00 0.0000000000000000e+00 7.5000000000000000e-01 2.0000000000000000e+00 0 0.0000000000000000e+00 0 0 4 4 8 0.0000000000000000e+00 0.0000000000000000e+00 1.0000000000000000e+00 0.0000000000000000e+00 -0 0.0000000000000000e+00 0 0 4 4 9 0.0000000000000000e+00 0.0000000000000000e+00 1.2500000000000000e+00 0.0000000000000000e+00 +0 0.0000000000000000e+00 0 0 4 4 9 0.0000000000000000e+00 0.0000000000000000e+00 1.2500000000000000e+00 2.0000000000000000e+00 diff --git a/WaveToyX/test/standing/wavetoyx-energy.it000010.x.tsv b/WaveToyX/test/standing/wavetoyx-energy.it000010.x.tsv index f9b204b69..a4874f76a 100644 --- a/WaveToyX/test/standing/wavetoyx-energy.it000010.x.tsv +++ b/WaveToyX/test/standing/wavetoyx-energy.it000010.x.tsv @@ -1,12 +1,12 @@ # 1:iteration 2:time 3:patch 4:level 5:i 6:j 7:k 8:x 9:y 10:z 11:eps -10 1.2500000000000000e+00 0 0 -1 4 4 -1.2500000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 8.6695104933864142e-01 +10 1.2500000000000000e+00 0 0 -1 4 4 -1.2500000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 2.3620588349255054e+00 10 1.2500000000000000e+00 0 0 0 4 4 -1.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 1.7339020986772793e+00 -10 1.2500000000000000e+00 0 0 1 4 4 -7.5000000000000000e-01 0.0000000000000000e+00 0.0000000000000000e+00 8.6695104933863965e-01 -10 1.2500000000000000e+00 0 0 2 4 4 -5.0000000000000000e-01 0.0000000000000000e+00 0.0000000000000000e+00 1.1153103249314242e-33 -10 1.2500000000000000e+00 0 0 3 4 4 -2.5000000000000000e-01 0.0000000000000000e+00 0.0000000000000000e+00 8.6695104933863965e-01 +10 1.2500000000000000e+00 0 0 1 4 4 -7.5000000000000000e-01 0.0000000000000000e+00 0.0000000000000000e+00 2.3620588349255041e+00 +10 1.2500000000000000e+00 0 0 2 4 4 -5.0000000000000000e-01 0.0000000000000000e+00 0.0000000000000000e+00 2.9902155711737288e+00 +10 1.2500000000000000e+00 0 0 3 4 4 -2.5000000000000000e-01 0.0000000000000000e+00 0.0000000000000000e+00 2.3620588349255036e+00 10 1.2500000000000000e+00 0 0 4 4 4 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 1.7339020986772797e+00 -10 1.2500000000000000e+00 0 0 5 4 4 2.5000000000000000e-01 0.0000000000000000e+00 0.0000000000000000e+00 8.6695104933863965e-01 -10 1.2500000000000000e+00 0 0 6 4 4 5.0000000000000000e-01 0.0000000000000000e+00 0.0000000000000000e+00 1.0963638012646705e-32 -10 1.2500000000000000e+00 0 0 7 4 4 7.5000000000000000e-01 0.0000000000000000e+00 0.0000000000000000e+00 8.6695104933864142e-01 +10 1.2500000000000000e+00 0 0 5 4 4 2.5000000000000000e-01 0.0000000000000000e+00 0.0000000000000000e+00 2.3620588349255041e+00 +10 1.2500000000000000e+00 0 0 6 4 4 5.0000000000000000e-01 0.0000000000000000e+00 0.0000000000000000e+00 2.9902155711737288e+00 +10 1.2500000000000000e+00 0 0 7 4 4 7.5000000000000000e-01 0.0000000000000000e+00 0.0000000000000000e+00 2.3620588349255054e+00 10 1.2500000000000000e+00 0 0 8 4 4 1.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 1.7339020986772793e+00 -10 1.2500000000000000e+00 0 0 9 4 4 1.2500000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 8.6695104933863965e-01 +10 1.2500000000000000e+00 0 0 9 4 4 1.2500000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 2.3620588349255041e+00 diff --git a/WaveToyX/test/standing/wavetoyx-energy.it000010.y.tsv b/WaveToyX/test/standing/wavetoyx-energy.it000010.y.tsv index 21f612f0f..af30828d1 100644 --- a/WaveToyX/test/standing/wavetoyx-energy.it000010.y.tsv +++ b/WaveToyX/test/standing/wavetoyx-energy.it000010.y.tsv @@ -1,12 +1,12 @@ # 1:iteration 2:time 3:patch 4:level 5:i 6:j 7:k 8:x 9:y 10:z 11:eps -10 1.2500000000000000e+00 0 0 4 -1 4 0.0000000000000000e+00 -1.2500000000000000e+00 0.0000000000000000e+00 8.6695104933864142e-01 +10 1.2500000000000000e+00 0 0 4 -1 4 0.0000000000000000e+00 -1.2500000000000000e+00 0.0000000000000000e+00 2.3620588349255054e+00 10 1.2500000000000000e+00 0 0 4 0 4 0.0000000000000000e+00 -1.0000000000000000e+00 0.0000000000000000e+00 1.7339020986772793e+00 -10 1.2500000000000000e+00 0 0 4 1 4 0.0000000000000000e+00 -7.5000000000000000e-01 0.0000000000000000e+00 8.6695104933863965e-01 -10 1.2500000000000000e+00 0 0 4 2 4 0.0000000000000000e+00 -5.0000000000000000e-01 0.0000000000000000e+00 1.1153103249314242e-33 -10 1.2500000000000000e+00 0 0 4 3 4 0.0000000000000000e+00 -2.5000000000000000e-01 0.0000000000000000e+00 8.6695104933863965e-01 +10 1.2500000000000000e+00 0 0 4 1 4 0.0000000000000000e+00 -7.5000000000000000e-01 0.0000000000000000e+00 2.3620588349255041e+00 +10 1.2500000000000000e+00 0 0 4 2 4 0.0000000000000000e+00 -5.0000000000000000e-01 0.0000000000000000e+00 2.9902155711737288e+00 +10 1.2500000000000000e+00 0 0 4 3 4 0.0000000000000000e+00 -2.5000000000000000e-01 0.0000000000000000e+00 2.3620588349255036e+00 10 1.2500000000000000e+00 0 0 4 4 4 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 1.7339020986772797e+00 -10 1.2500000000000000e+00 0 0 4 5 4 0.0000000000000000e+00 2.5000000000000000e-01 0.0000000000000000e+00 8.6695104933863965e-01 -10 1.2500000000000000e+00 0 0 4 6 4 0.0000000000000000e+00 5.0000000000000000e-01 0.0000000000000000e+00 1.0963638012646705e-32 -10 1.2500000000000000e+00 0 0 4 7 4 0.0000000000000000e+00 7.5000000000000000e-01 0.0000000000000000e+00 8.6695104933864142e-01 +10 1.2500000000000000e+00 0 0 4 5 4 0.0000000000000000e+00 2.5000000000000000e-01 0.0000000000000000e+00 2.3620588349255041e+00 +10 1.2500000000000000e+00 0 0 4 6 4 0.0000000000000000e+00 5.0000000000000000e-01 0.0000000000000000e+00 2.9902155711737288e+00 +10 1.2500000000000000e+00 0 0 4 7 4 0.0000000000000000e+00 7.5000000000000000e-01 0.0000000000000000e+00 2.3620588349255054e+00 10 1.2500000000000000e+00 0 0 4 8 4 0.0000000000000000e+00 1.0000000000000000e+00 0.0000000000000000e+00 1.7339020986772793e+00 -10 1.2500000000000000e+00 0 0 4 9 4 0.0000000000000000e+00 1.2500000000000000e+00 0.0000000000000000e+00 8.6695104933863965e-01 +10 1.2500000000000000e+00 0 0 4 9 4 0.0000000000000000e+00 1.2500000000000000e+00 0.0000000000000000e+00 2.3620588349255041e+00 diff --git a/WaveToyX/test/standing/wavetoyx-energy.it000010.z.tsv b/WaveToyX/test/standing/wavetoyx-energy.it000010.z.tsv index ff3d7ac13..040e8a6b3 100644 --- a/WaveToyX/test/standing/wavetoyx-energy.it000010.z.tsv +++ b/WaveToyX/test/standing/wavetoyx-energy.it000010.z.tsv @@ -1,12 +1,12 @@ # 1:iteration 2:time 3:patch 4:level 5:i 6:j 7:k 8:x 9:y 10:z 11:eps -10 1.2500000000000000e+00 0 0 4 4 -1 0.0000000000000000e+00 0.0000000000000000e+00 -1.2500000000000000e+00 8.6695104933864087e-01 +10 1.2500000000000000e+00 0 0 4 4 -1 0.0000000000000000e+00 0.0000000000000000e+00 -1.2500000000000000e+00 2.3620588349255049e+00 10 1.2500000000000000e+00 0 0 4 4 0 0.0000000000000000e+00 0.0000000000000000e+00 -1.0000000000000000e+00 1.7339020986772788e+00 -10 1.2500000000000000e+00 0 0 4 4 1 0.0000000000000000e+00 0.0000000000000000e+00 -7.5000000000000000e-01 8.6695104933864253e-01 -10 1.2500000000000000e+00 0 0 4 4 2 0.0000000000000000e+00 0.0000000000000000e+00 -5.0000000000000000e-01 1.2731974682202678e-31 -10 1.2500000000000000e+00 0 0 4 4 3 0.0000000000000000e+00 0.0000000000000000e+00 -2.5000000000000000e-01 8.6695104933864020e-01 +10 1.2500000000000000e+00 0 0 4 4 1 0.0000000000000000e+00 0.0000000000000000e+00 -7.5000000000000000e-01 2.3620588349255067e+00 +10 1.2500000000000000e+00 0 0 4 4 2 0.0000000000000000e+00 0.0000000000000000e+00 -5.0000000000000000e-01 2.9902155711737288e+00 +10 1.2500000000000000e+00 0 0 4 4 3 0.0000000000000000e+00 0.0000000000000000e+00 -2.5000000000000000e-01 2.3620588349255041e+00 10 1.2500000000000000e+00 0 0 4 4 4 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 1.7339020986772797e+00 -10 1.2500000000000000e+00 0 0 4 4 5 0.0000000000000000e+00 0.0000000000000000e+00 2.5000000000000000e-01 8.6695104933864020e-01 -10 1.2500000000000000e+00 0 0 4 4 6 0.0000000000000000e+00 0.0000000000000000e+00 5.0000000000000000e-01 8.3253862065897133e-32 -10 1.2500000000000000e+00 0 0 4 4 7 0.0000000000000000e+00 0.0000000000000000e+00 7.5000000000000000e-01 8.6695104933864087e-01 +10 1.2500000000000000e+00 0 0 4 4 5 0.0000000000000000e+00 0.0000000000000000e+00 2.5000000000000000e-01 2.3620588349255041e+00 +10 1.2500000000000000e+00 0 0 4 4 6 0.0000000000000000e+00 0.0000000000000000e+00 5.0000000000000000e-01 2.9902155711737266e+00 +10 1.2500000000000000e+00 0 0 4 4 7 0.0000000000000000e+00 0.0000000000000000e+00 7.5000000000000000e-01 2.3620588349255049e+00 10 1.2500000000000000e+00 0 0 4 4 8 0.0000000000000000e+00 0.0000000000000000e+00 1.0000000000000000e+00 1.7339020986772788e+00 -10 1.2500000000000000e+00 0 0 4 4 9 0.0000000000000000e+00 0.0000000000000000e+00 1.2500000000000000e+00 8.6695104933864253e-01 +10 1.2500000000000000e+00 0 0 4 4 9 0.0000000000000000e+00 0.0000000000000000e+00 1.2500000000000000e+00 2.3620588349255067e+00 diff --git a/WaveToyX/test/standing2/norms/wavetoyx-energy.tsv b/WaveToyX/test/standing2/norms/wavetoyx-energy.tsv deleted file mode 100644 index 6da23eb87..000000000 --- a/WaveToyX/test/standing2/norms/wavetoyx-energy.tsv +++ /dev/null @@ -1,3 +0,0 @@ -# 1:iteration 2:time 3:wavetoyx::eps.min 4:wavetoyx::eps.max 5:wavetoyx::eps.sum 6:wavetoyx::eps.avg 7:wavetoyx::eps.stddev 8:wavetoyx::eps.volume 9:wavetoyx::eps.L1norm 10:wavetoyx::eps.L2norm 11:wavetoyx::eps.maxabs -0 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 8.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 -10 1.2500000000000000e+00 3.2194757302353467e-36 1.7339020986772802e+00 1.7339020986772795e+00 2.1673776233465994e-01 3.3401532427698494e-01 8.0000000000000000e+00 2.1673776233465994e-01 3.9817269428439578e-01 1.7339020986772802e+00 From 238aa634aa87073d044b84a997e194b8162a144e Mon Sep 17 00:00:00 2001 From: Erik Schnetter Date: Thu, 1 Aug 2024 16:03:34 -0400 Subject: [PATCH 12/13] TestODESolvers: Update tests --- TestODESolvers/src/odes.cxx | 2 +- TestODESolvers/test/test-constant.par | 4 ++++ TestODESolvers/test/test-dp87.par | 4 ++++ TestODESolvers/test/test-euler.par | 4 ++++ TestODESolvers/test/test-rk2.par | 4 ++++ TestODESolvers/test/test-rk3.par | 4 ++++ TestODESolvers/test/test-rk4.par | 4 ++++ TestODESolvers/test/test-rkf78.par | 4 ++++ TestODESolvers/test/test-ssprk3.par | 4 ++++ 9 files changed, 33 insertions(+), 1 deletion(-) diff --git a/TestODESolvers/src/odes.cxx b/TestODESolvers/src/odes.cxx index ad5cec19a..0f7abd073 100644 --- a/TestODESolvers/src/odes.cxx +++ b/TestODESolvers/src/odes.cxx @@ -128,7 +128,7 @@ extern "C" void TestODESolvers_Error(CCTK_ARGUMENTS) { // happens reliably at cctk_time == cctk_initial_time corder[ind] = 0; } else { - using std::log; + using std::abs, std::log; corder[ind] = log(abs(error2[ind] / error[ind])) / log(2.0); } } diff --git a/TestODESolvers/test/test-constant.par b/TestODESolvers/test/test-constant.par index ebc08eb9a..5907663bf 100644 --- a/TestODESolvers/test/test-constant.par +++ b/TestODESolvers/test/test-constant.par @@ -17,6 +17,10 @@ CarpetX::blocking_factor_z = 1 CarpetX::ghost_size = 0 +CarpetX::periodic_x = yes +CarpetX::periodic_y = yes +CarpetX::periodic_z = yes + CarpetX::dtfac = 0.001 Cactus::cctk_itlast = 10 diff --git a/TestODESolvers/test/test-dp87.par b/TestODESolvers/test/test-dp87.par index 9b355d7c9..56d3a9f7f 100644 --- a/TestODESolvers/test/test-dp87.par +++ b/TestODESolvers/test/test-dp87.par @@ -17,6 +17,10 @@ CarpetX::blocking_factor_z = 1 CarpetX::ghost_size = 0 +CarpetX::periodic_x = yes +CarpetX::periodic_y = yes +CarpetX::periodic_z = yes + CarpetX::dtfac = 0.03 Cactus::cctk_itlast = 10 diff --git a/TestODESolvers/test/test-euler.par b/TestODESolvers/test/test-euler.par index a6275e083..b27bac15a 100644 --- a/TestODESolvers/test/test-euler.par +++ b/TestODESolvers/test/test-euler.par @@ -17,6 +17,10 @@ CarpetX::blocking_factor_z = 1 CarpetX::ghost_size = 0 +CarpetX::periodic_x = yes +CarpetX::periodic_y = yes +CarpetX::periodic_z = yes + CarpetX::dtfac = 0.001 Cactus::cctk_itlast = 10 diff --git a/TestODESolvers/test/test-rk2.par b/TestODESolvers/test/test-rk2.par index 79929d90e..c9c765cf4 100644 --- a/TestODESolvers/test/test-rk2.par +++ b/TestODESolvers/test/test-rk2.par @@ -17,6 +17,10 @@ CarpetX::blocking_factor_z = 1 CarpetX::ghost_size = 0 +CarpetX::periodic_x = yes +CarpetX::periodic_y = yes +CarpetX::periodic_z = yes + CarpetX::dtfac = 0.001 Cactus::cctk_itlast = 10 diff --git a/TestODESolvers/test/test-rk3.par b/TestODESolvers/test/test-rk3.par index dd4817e90..917514ee3 100644 --- a/TestODESolvers/test/test-rk3.par +++ b/TestODESolvers/test/test-rk3.par @@ -17,6 +17,10 @@ CarpetX::blocking_factor_z = 1 CarpetX::ghost_size = 0 +CarpetX::periodic_x = yes +CarpetX::periodic_y = yes +CarpetX::periodic_z = yes + CarpetX::dtfac = 0.001 Cactus::cctk_itlast = 10 diff --git a/TestODESolvers/test/test-rk4.par b/TestODESolvers/test/test-rk4.par index a4f18cac4..9eb8cd0ce 100644 --- a/TestODESolvers/test/test-rk4.par +++ b/TestODESolvers/test/test-rk4.par @@ -17,6 +17,10 @@ CarpetX::blocking_factor_z = 1 CarpetX::ghost_size = 0 +CarpetX::periodic_x = yes +CarpetX::periodic_y = yes +CarpetX::periodic_z = yes + CarpetX::dtfac = 0.001 Cactus::cctk_itlast = 10 diff --git a/TestODESolvers/test/test-rkf78.par b/TestODESolvers/test/test-rkf78.par index 1c225cb2c..70a64672e 100644 --- a/TestODESolvers/test/test-rkf78.par +++ b/TestODESolvers/test/test-rkf78.par @@ -17,6 +17,10 @@ CarpetX::blocking_factor_z = 1 CarpetX::ghost_size = 0 +CarpetX::periodic_x = yes +CarpetX::periodic_y = yes +CarpetX::periodic_z = yes + CarpetX::dtfac = 0.01 Cactus::cctk_itlast = 10 diff --git a/TestODESolvers/test/test-ssprk3.par b/TestODESolvers/test/test-ssprk3.par index 399a5fc5f..cc06470ce 100644 --- a/TestODESolvers/test/test-ssprk3.par +++ b/TestODESolvers/test/test-ssprk3.par @@ -17,6 +17,10 @@ CarpetX::blocking_factor_z = 1 CarpetX::ghost_size = 0 +CarpetX::periodic_x = yes +CarpetX::periodic_y = yes +CarpetX::periodic_z = yes + CarpetX::dtfac = 0.001 Cactus::cctk_itlast = 10 From b95126a34ef93de10e329240ec7cae041870bf9d Mon Sep 17 00:00:00 2001 From: Erik Schnetter Date: Thu, 1 Aug 2024 16:04:27 -0400 Subject: [PATCH 13/13] *WaveToy: Clean up schedule --- FluxWaveToyX/schedule.ccl | 2 +- SIMDWaveToyX/schedule.ccl | 2 +- StaggeredWaveToyX/schedule.ccl | 2 +- WaveToyX/schedule.ccl | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/FluxWaveToyX/schedule.ccl b/FluxWaveToyX/schedule.ccl index 6a9af2e22..7d79ff215 100644 --- a/FluxWaveToyX/schedule.ccl +++ b/FluxWaveToyX/schedule.ccl @@ -36,7 +36,7 @@ SCHEDULE FluxWaveToyX_RHS IN ODESolvers_RHS AFTER FluxWaveToyX_Fluxes SCHEDULE FluxWaveToyX_Boundaries IN ODESolvers_PostStep { LANG: C - OPTIONS: level + OPTIONS: global SYNC: state } "Apply boundary conditions" diff --git a/SIMDWaveToyX/schedule.ccl b/SIMDWaveToyX/schedule.ccl index e7bc426ea..e4d12c231 100644 --- a/SIMDWaveToyX/schedule.ccl +++ b/SIMDWaveToyX/schedule.ccl @@ -20,7 +20,7 @@ SCHEDULE SIMDWaveToyX_RHS IN ODESolvers_RHS SCHEDULE SIMDWaveToyX_Boundaries IN ODESolvers_PostStep { LANG: C - OPTIONS: level + OPTIONS: global SYNC: state } "Apply boundary conditions" diff --git a/StaggeredWaveToyX/schedule.ccl b/StaggeredWaveToyX/schedule.ccl index 46ad38e8a..f607f389f 100644 --- a/StaggeredWaveToyX/schedule.ccl +++ b/StaggeredWaveToyX/schedule.ccl @@ -32,7 +32,7 @@ SCHEDULE StaggeredWaveToyX_RHS IN ODESolvers_RHS SCHEDULE StaggeredWaveToyX_Boundaries IN ODESolvers_PostStep { LANG: C - OPTIONS: level + OPTIONS: global SYNC: ustate SYNC: fxstate SYNC: fystate diff --git a/WaveToyX/schedule.ccl b/WaveToyX/schedule.ccl index bc621fb83..d91981e83 100644 --- a/WaveToyX/schedule.ccl +++ b/WaveToyX/schedule.ccl @@ -34,7 +34,7 @@ SCHEDULE WaveToyX_RHS IN ODESolvers_RHS SCHEDULE WaveToyX_Boundaries IN ODESolvers_PostStep { LANG: C - OPTIONS: level + OPTIONS: global SYNC: state } "Apply boundary conditions"