WarpX
MultiDiagnostics.H
Go to the documentation of this file.
1 #ifndef WARPX_MULTIDIAGNOSTICS_H_
2 #define WARPX_MULTIDIAGNOSTICS_H_
3 
4 #include "Diagnostics.H"
5 
6 #include "MultiDiagnostics_fwd.H"
7 
8 #include <AMReX_Vector.H>
9 
10 #include <memory>
11 #include <string>
12 #include <vector>
13 
16 
21 {
22 public:
25  void ReadParameters ();
27  void InitData ();
29  void FilterComputePackFlush (int step, bool force_flush=false, bool BackTransform=false);
32  void FilterComputePackFlushLastTimestep (int step);
37  void InitializeFieldFunctors (int lev);
39  void NewIteration ();
40  Diagnostics& GetDiag(int idiag) {return *alldiags[idiag]; }
41  [[nodiscard]] int GetTotalDiags() const {return ndiags;}
42  DiagTypes diagstypes(int idiag) {return diags_types[idiag];}
43 private:
46  int ndiags = 0;
47  std::vector<std::string> diags_names;
49  std::vector<DiagTypes> diags_types;
50 };
51 
52 #endif // WARPX_MULTIDIAGNOSTICS_H_
DiagTypes
Definition: MultiDiagnostics.H:15
@ BoundaryScraping
base class for diagnostics. Contains main routines to filter, compute and flush diagnostics.
Definition: Diagnostics.H:31
This class contains a vector of all diagnostics in the simulation.
Definition: MultiDiagnostics.H:21
std::vector< DiagTypes > diags_types
Definition: MultiDiagnostics.H:49
Diagnostics & GetDiag(int idiag)
Definition: MultiDiagnostics.H:40
MultiDiagnostics()
Definition: MultiDiagnostics.cpp:16
std::vector< std::string > diags_names
Definition: MultiDiagnostics.H:47
void FilterComputePackFlushLastTimestep(int step)
Called only at the last iteration. Loop over each diag and if m_dump_last_timestep is true,...
Definition: MultiDiagnostics.cpp:98
void ReadParameters()
Read Input parameters. Called in constructor.
Definition: MultiDiagnostics.cpp:54
void InitData()
Loop over diags in alldiags and call their InitDiags.
Definition: MultiDiagnostics.cpp:37
void InitializeFieldFunctors(int lev)
Loop over diags in all diags and call their InitializeFieldFunctors. Called when a new partitioning i...
Definition: MultiDiagnostics.cpp:45
void FilterComputePackFlush(int step, bool force_flush=false, bool BackTransform=false)
Called at each iteration. Compute diags and flush.
Definition: MultiDiagnostics.cpp:80
int ndiags
Definition: MultiDiagnostics.H:46
int GetTotalDiags() const
Definition: MultiDiagnostics.H:41
DiagTypes diagstypes(int idiag)
Definition: MultiDiagnostics.H:42
void NewIteration()
Definition: MultiDiagnostics.cpp:109
amrex::Vector< std::unique_ptr< Diagnostics > > alldiags
Definition: MultiDiagnostics.H:45