WarpX
Loading...
Searching...
No Matches
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
7
8#include <AMReX_Vector.H>
9
10#include <memory>
11#include <string>
12#include <vector>
13
14
19{
20public:
23 void ReadParameters ();
24
26 void InitData (const MultiParticleContainer& mpc);
28 bool DoComputeAndPack (int step, bool force_flush=false);
30 void FilterComputePackFlush (int step, bool force_flush=false, bool BackTransform=false);
38 void InitializeFieldFunctors (int lev);
40 void NewIteration ();
41 Diagnostics& GetDiag(int idiag) {return *alldiags[idiag]; }
42 [[nodiscard]] int GetTotalDiags() const {return ndiags;}
43 DiagTypes diagstypes(int idiag) {return diags_types[idiag];}
44private:
47 int ndiags = 0;
48 std::vector<std::string> diags_names;
50 std::vector<DiagTypes> diags_types;
51};
52
53#endif // WARPX_MULTIDIAGNOSTICS_H_
DiagTypes
Definition Diagnostics.H:25
base class for diagnostics. Contains main routines to filter, compute and flush diagnostics.
Definition Diagnostics.H:33
std::vector< DiagTypes > diags_types
Definition MultiDiagnostics.H:50
MultiDiagnostics()
Definition MultiDiagnostics.cpp:14
std::vector< std::string > diags_names
Definition MultiDiagnostics.H:48
void InitData(const MultiParticleContainer &mpc)
Loop over diags in alldiags and call their InitDiags.
Definition MultiDiagnostics.cpp:35
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:107
bool DoComputeAndPack(int step, bool force_flush=false)
Definition MultiDiagnostics.cpp:79
void ReadParameters()
Read Input parameters. Called in constructor.
Definition MultiDiagnostics.cpp:52
void InitializeFieldFunctors(int lev)
Loop over diags in all diags and call their InitializeFieldFunctors. Called when a new partitioning i...
Definition MultiDiagnostics.cpp:43
void FilterComputePackFlush(int step, bool force_flush=false, bool BackTransform=false)
Called at each iteration. Compute diags and flush.
Definition MultiDiagnostics.cpp:89
int ndiags
Definition MultiDiagnostics.H:47
Diagnostics & GetDiag(int idiag)
Definition MultiDiagnostics.H:41
int GetTotalDiags() const
Definition MultiDiagnostics.H:42
DiagTypes diagstypes(int idiag)
Definition MultiDiagnostics.H:43
void NewIteration()
Definition MultiDiagnostics.cpp:118
amrex::Vector< std::unique_ptr< Diagnostics > > alldiags
Definition MultiDiagnostics.H:46
Definition MultiParticleContainer.H:68