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 (std::string rd_name);
56 
60  virtual ~ReducedDiags () = default;
61 
66  virtual void InitData ();
67 
70  virtual void LoadBalance ();
71 
77  virtual void ComputeDiags (int step) = 0;
78 
84  virtual void WriteToFile (int step) const;
85 
90  void BackwardCompatibility ();
91 
92 };
93 
94 #endif
Definition: ReducedDiags.H:24
ReducedDiags(std::string rd_name)
Definition: ReducedDiags.cpp:26
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()
Definition: ReducedDiags.cpp:90
virtual void ComputeDiags(int step)=0
virtual void InitData()
Definition: ReducedDiags.cpp:76
virtual void LoadBalance()
Definition: ReducedDiags.cpp:83
std::string m_rd_name
diags name
Definition: ReducedDiags.H:34
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:102
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