WarpX
Loading...
Searching...
No Matches
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{
25public:
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;
67
68
73 virtual void InitData ();
74
77 virtual void LoadBalance ();
78
84 virtual void ComputeDiags (int step) = 0;
85
91 virtual void ComputeDiagsMidStep (int step);
92
98 virtual void WriteToFile (int step) const;
99
101 [[nodiscard]] bool DoDiags(int step) const { return m_intervals.contains(step+1); }
102
108 virtual void WriteCheckpointData (std::string const & dir);
109
115 virtual void ReadCheckpointData (std::string const & dir);
116
121 void BackwardCompatibility () const;
122
123};
124
125#endif
virtual void ReadCheckpointData(std::string const &dir)
Read in checkpoint related data.
Definition ReducedDiags.cpp:109
ReducedDiags(ReducedDiags &&)=default
virtual void ComputeDiagsMidStep(int step)
Definition ReducedDiags.cpp:95
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:116
virtual void ComputeDiags(int step)=0
virtual void InitData()
Definition ReducedDiags.cpp:81
virtual void LoadBalance()
Definition ReducedDiags.cpp:88
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
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 WriteCheckpointData(std::string const &dir)
Write out checkpoint related data.
Definition ReducedDiags.cpp:102
virtual void WriteToFile(int step) const
Definition ReducedDiags.cpp:128
std::string m_extension
output extension (default)
Definition ReducedDiags.H:31
ReducedDiags & operator=(ReducedDiags &&)=default
int m_precision
precision for data in the output file
Definition ReducedDiags.H:46
virtual ~ReducedDiags()=default
bool DoDiags(int step) const
Definition ReducedDiags.H:101
ReducedDiags & operator=(const 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