18 std::ofstream csvfile;
29 std::ofstream& csvfile,
const std::vector<const PostProcessor*>& pp_list)
31 csvfile <<
"Scalar Post-Processors\n";
34 std::set<size_t> unq_time_histsizes;
36 for (
const auto& pp : pp_list)
38 const size_t time_histsize = pp->GetTimeHistory().size();
39 unq_time_histsizes.insert(time_histsize);
44 std::map<size_t, std::vector<const PostProcessor*>> pp_timehist_size_subs;
45 for (
size_t time_histsize : unq_time_histsizes)
47 auto& subs = pp_timehist_size_subs[time_histsize];
48 for (
const auto& pp : pp_list)
49 if (pp->GetTimeHistory().size() == time_histsize) subs.push_back(pp);
53 for (
const auto& [timehistsize, pp_sub_list] : pp_timehist_size_subs)
55 const auto value_matrix =
57 for (
const auto& row : value_matrix)
59 for (
const auto& entry : row)
62 if (&entry != &row.back()) csvfile <<
",";
70 std::ofstream& csvfile,
const std::vector<const PostProcessor*>& pp_list)
72 csvfile <<
"Vector Post-Processors\n";
74 for (
const auto& pp : pp_list)
76 csvfile << pp->Name() <<
"\n";
77 const size_t timehistsize = pp->GetTimeHistory().size();
78 const auto value_matrix =
80 for (
const auto& row : value_matrix)
82 for (
const auto& entry : row)
84 auto entry_star = entry;
85 std::replace(entry_star.begin(), entry_star.end(),
' ',
',');
86 csvfile << entry_star;
87 if (&entry != &row.back()) csvfile <<
",";
95 std::ofstream& csvfile,
const std::vector<const PostProcessor*>& pp_list)
97 csvfile <<
"Arbitrary Post-Processors\n";
99 for (
const auto& pp : pp_list)
101 csvfile << pp->Name() <<
"\n";
102 const size_t timehistsize = pp->GetTimeHistory().size();
103 const auto value_matrix =
105 for (
const auto& row : value_matrix)
107 for (
const auto& entry : row)
109 auto entry_star = entry;
111 csvfile << entry_star;
112 if (&entry != &row.back()) csvfile <<
",";
static void PrintScalarPPsToCSV(std::ofstream &csvfile, const std::vector< const PostProcessor * > &pp_list)
static std::vector< const PostProcessor * > GetArbitraryPostProcessorsList(const Event &event)
static std::vector< const PostProcessor * > GetVectorPostProcessorsList(const Event &event)
static std::vector< const PostProcessor * > GetScalarPostProcessorsList(const Event &event)
static void PrintArbitraryPPsToCSV(std::ofstream &csvfile, const std::vector< const PostProcessor * > &pp_list)
void PrintCSVFile(const Event &event) const
std::string csv_filename_
static std::vector< std::vector< std::string > > BuildPPHistoryMatrix(size_t timehistsize, size_t time_history_limit, const std::vector< const PostProcessor * > &pp_sub_list)
static void PrintVectorPPsToCSV(std::ofstream &csvfile, const std::vector< const PostProcessor * > &pp_list)