https://mooseframework.inl.gov
CSV.h
Go to the documentation of this file.
1 //* This file is part of the MOOSE framework
2 //* https://mooseframework.inl.gov
3 //*
4 //* All rights reserved, see COPYRIGHT for full restrictions
5 //* https://github.com/idaholab/moose/blob/master/COPYRIGHT
6 //*
7 //* Licensed under LGPL 2.1, please see LICENSE for details
8 //* https://www.gnu.org/licenses/lgpl-2.1.html
9 
10 #pragma once
11 
12 // MOOSE includes
13 #include "TableOutput.h"
14 
20 class CSV : public TableOutput
21 {
22 public:
24 
34 
35 protected:
36  using Output::output;
37 
41  virtual void output() override;
42 
47  virtual std::string filename() override;
48 
53  void initialSetup() override;
54 
58  virtual void outputScalarVariables() override;
59 
63  virtual void outputPostprocessors() override;
64 
68  virtual void outputVectorPostprocessors() override;
69 
73  virtual void outputReporters() override;
74 
79  std::string getVectorPostprocessorFileName(const std::string & vpp_name,
80  bool include_time_step,
81  bool is_distributed);
82 
83 private:
85  bool _align;
86 
88  unsigned int _precision;
89 
91  std::string _delimiter;
92 
95 
98 
100  const bool _sort_columns;
101 
104 
107 
110 
112  // The pair is composed of the complete filename (foo_variable_0001.csv), the incomplete name
113  // (foo_variable) to which the _FINAL or _LATEST is to be applied, and the "is_distributed" flag
114  std::vector<std::tuple<std::string, std::string, bool>> _latest_vpp_filenames;
115 
119  std::string getVectorPostprocessorFilePrefix(const std::string & vpp_name);
120 };
unsigned int _precision
Decimal digits per number in the CSV file.
Definition: CSV.h:88
bool _write_all_table
Flag for writing scalar and/or postprocessor data.
Definition: CSV.h:94
The main MOOSE class responsible for handling user-defined parameters in almost every MOOSE system...
virtual std::string filename() override
The filename for the output file.
Definition: CSV.C:115
std::vector< std::tuple< std::string, std::string, bool > > _latest_vpp_filenames
Current list of VPP filenames for creating _LATEST/_FINAL symlinks.
Definition: CSV.h:114
virtual void outputReporters() override
Sets the write flag and calls TableOutput::outputVectorPostprocessors()
Definition: CSV.C:142
bool _write_vector_table
Flag for writing vector postprocessor data.
Definition: CSV.h:97
virtual void outputPostprocessors() override
Sets the write flag and calls TableOutput::outputPostprocessors()
Definition: CSV.C:128
static InputParameters validParams()
Definition: CSV.C:18
bool _align
Flag for aligning data in .csv file.
Definition: CSV.h:85
Based class for adding basic filename support to output base class.
Definition: CSV.h:20
bool _recovering
Flag indicating MOOSE is recovering via –recover command-line option.
Definition: CSV.h:103
virtual void output()=0
Overload this function with the desired output activities.
std::string _delimiter
The delimiter used when writing the CSV file.
Definition: CSV.h:91
virtual void outputVectorPostprocessors() override
Sets the write flag and calls TableOutput::outputVectorPostprocessors()
Definition: CSV.C:135
virtual void outputScalarVariables() override
Sets the write flag and calls TableOutput::outputScalarVariables()
Definition: CSV.C:121
std::string getVectorPostprocessorFilePrefix(const std::string &vpp_name)
Returns the filename without the time/timestep information.
Definition: CSV.C:279
const bool _sort_columns
Flag for sorting column names.
Definition: CSV.h:100
Base class for scalar variables and postprocessors output objects.
Definition: TableOutput.h:28
std::string getVectorPostprocessorFileName(const std::string &vpp_name, bool include_time_step, bool is_distributed)
Generates a filename pattern for Vectorpostprocessors filebase + VPP name + time step + "...
Definition: CSV.C:150
const InputParameters & parameters() const
Get the parameters of the object.
virtual void output() override
Output the table to a *.csv file.
Definition: CSV.C:189
bool _create_latest_symlink
Flag for creating a _LATEST symlink.
Definition: CSV.h:109
bool _create_final_symlink
Flag for creating a _FINAL symlink.
Definition: CSV.h:106
CSV(const InputParameters &parameters)
Class constructor.
Definition: CSV.C:51
void initialSetup() override
Setup the CSV output If restarting and the append_restart flag is false, then the output data is clea...
Definition: CSV.C:66