9#include <spdlog/fmt/fmt.h>
14 : file(path), solve_data(solve_data)
19 file <<
"total_energy" << std::endl;
36 file << ((form && form->enabled()) ? form->value(sol) : 0) / s <<
",";
43 const std::string &path,
48 : file(path), n_bases(n_bases), n_elements(n_elements), t0(t0), dt(dt)
50 file <<
"step,time,forward,remeshing,global_relaxation,peak_mem,#V,#T" << std::endl;
61 const double remeshing,
62 const double global_relaxation)
64 const double peak_mem =
getPeakRSS() / double(1 << 30);
66 "{},{},{},{},{},{},{},{}\n",
67 t,
t0 +
dt * t, forward, remeshing, global_relaxation, peak_mem,
EnergyCSVWriter(const std::string &path, const solver::SolveData &solve_data)
const solver::SolveData & solve_data
void write(const int i, const Eigen::MatrixXd &sol)
RuntimeStatsCSVWriter(const std::string &path, const int n_bases, const int n_elements, const double t0, const double dt)
void write(const int t, const double forward, const double remeshing, const double global_relaxation)
class to store time stepping data
std::shared_ptr< solver::NLProblem > nl_problem
std::vector< std::pair< std::string, std::shared_ptr< solver::Form > > > named_forms() const
std::shared_ptr< time_integrator::ImplicitTimeIntegrator > time_integrator
size_t getPeakRSS(void)
Returns the peak (maximum so far) resident set size (physical memory use) measured in bytes,...