WarpX
ReducedDiags.H
Go to the documentation of this file.
1 /* Copyright 2019-2020 Maxence Thevenet, Yinjian Zhao
2  *
3  * This file is part of WarpX.
4  *
5  * License: BSD-3-Clause-LBNL
6  */
7 
8 #ifndef WARPX_DIAGNOSTICS_REDUCEDDIAGS_REDUCEDDIAGS_H_
9 #define WARPX_DIAGNOSTICS_REDUCEDDIAGS_REDUCEDDIAGS_H_
10 
12 
13 #include <AMReX_REAL.H>
14 
15 #include <string>
16 #include <vector>
17 
24 {
25 public:
26 
28  std::string m_path = "./diags/reducedfiles/";
29 
31  std::string m_extension = "txt";
32 
34  std::string m_rd_name;
35 
38 
40  bool m_write_header = false;
41 
43  std::string m_sep = " ";
44 
46  int m_precision = 14;
47 
49  std::vector<amrex::Real> m_data;
50 
55  ReducedDiags (const std::string& rd_name);
56 
60  virtual ~ReducedDiags () = default;
61 
62  // Default move and copy operations
63  ReducedDiags(const ReducedDiags&) = default;
64  ReducedDiags& operator=(const ReducedDiags&) = default;
65  ReducedDiags(ReducedDiags&&) = default;
67 
68 
73  virtual void InitData ();
74 
77  virtual void LoadBalance ();
78 
84  virtual void ComputeDiags (int step) = 0;
85 
91  virtual void WriteToFile (int step) const;
92 
97  void BackwardCompatibility () const;
98 
99 };
100 
101 #endif
Definition: ReducedDiags.H:24
ReducedDiags(ReducedDiags &&)=default
ReducedDiags & operator=(const ReducedDiags &)=default
std::string m_sep
separator in the output file
Definition: ReducedDiags.H:43
std::string m_path
output path (default)
Definition: ReducedDiags.H:28
void BackwardCompatibility() const
Definition: ReducedDiags.cpp:89
virtual void ComputeDiags(int step)=0
virtual void InitData()
Definition: ReducedDiags.cpp:75
virtual void LoadBalance()
Definition: ReducedDiags.cpp:82
ReducedDiags(const std::string &rd_name)
Definition: ReducedDiags.cpp:26
ReducedDiags(const ReducedDiags &)=default
std::string m_rd_name
diags name
Definition: ReducedDiags.H:34
ReducedDiags & operator=(ReducedDiags &&)=default
bool m_write_header
check if header should be written
Definition: ReducedDiags.H:40
utils::parser::IntervalsParser m_intervals
output intervals
Definition: ReducedDiags.H:37
std::vector< amrex::Real > m_data
output data
Definition: ReducedDiags.H:49
virtual void WriteToFile(int step) const
Definition: ReducedDiags.cpp:101
std::string m_extension
output extension (default)
Definition: ReducedDiags.H:31
int m_precision
precision for data in the output file
Definition: ReducedDiags.H:46
virtual ~ReducedDiags()=default
This class is a parser for multiple slices of the form x,y,z,... where x, y and z are slices of the f...
Definition: IntervalsParser.H:103