WarpX
ParticleHistogram2D.H
Go to the documentation of this file.
1 /* Copyright 2023 The WarpX Community
2  *
3  * This file is part of WarpX.
4  *
5  * Authors: Juliette Pech, Axel Huebl
6  * License: BSD-3-Clause-LBNL
7  */
8 
9 #ifndef WARPX_DIAGNOSTICS_REDUCEDDIAGS_PARTICLEHISTOGRAM2D_H_
10 #define WARPX_DIAGNOSTICS_REDUCEDDIAGS_PARTICLEHISTOGRAM2D_H_
11 
12 #include "ReducedDiags.H"
13 
14 #include <AMReX_Parser.H>
15 #include <AMReX_REAL.H>
16 #include <AMReX_TableData.H>
17 
18 #include <memory>
19 #include <string>
20 
26 {
27 public:
28 
33  ParticleHistogram2D(const std::string& rd_name);
34 
36  std::string m_openpmd_backend {"default"};
37 
40 
44 
47 
50 
52  amrex::Real m_bin_max_abs;
53  amrex::Real m_bin_min_abs;
54  amrex::Real m_bin_max_ord;
55  amrex::Real m_bin_min_ord;
56 
58  amrex::Real m_bin_size_abs;
59  amrex::Real m_bin_size_ord;
60 
62  std::string function_string_abs;
63  std::string function_string_ord;
64  std::string filter_string;
65  std::string value_string;
66 
69  static constexpr int m_nvars = 8;
70  std::unique_ptr<amrex::Parser> m_parser_abs;
71  std::unique_ptr<amrex::Parser> m_parser_ord;
72 
74  std::unique_ptr<amrex::Parser> m_parser_filter;
75 
77  bool m_do_parser_filter = false;
78 
80  std::unique_ptr<amrex::Parser> m_parser_value;
81 
84 
90  void ComputeDiags(int step) final;
91 
97  void WriteToFile (int step) const final;
98 
99 };
100 
101 #endif
Definition: ParticleHistogram2D.H:26
std::unique_ptr< amrex::Parser > m_parser_ord
Definition: ParticleHistogram2D.H:71
std::string value_string
Definition: ParticleHistogram2D.H:65
std::unique_ptr< amrex::Parser > m_parser_abs
Definition: ParticleHistogram2D.H:70
void ComputeDiags(int step) final
Definition: ParticleHistogram2D.cpp:132
std::string function_string_abs
functions
Definition: ParticleHistogram2D.H:62
static constexpr int m_nvars
7 elements are t, x, y, z, ux, uy, uz, w
Definition: ParticleHistogram2D.H:69
ParticleHistogram2D(const std::string &rd_name)
Definition: ParticleHistogram2D.cpp:57
std::string filter_string
Definition: ParticleHistogram2D.H:64
bool m_do_parser_filter
Whether the filter is activated.
Definition: ParticleHistogram2D.H:77
amrex::Real m_bin_max_ord
Definition: ParticleHistogram2D.H:54
amrex::Real m_bin_max_abs
max and min bin values
Definition: ParticleHistogram2D.H:52
void WriteToFile(int step) const final
Definition: ParticleHistogram2D.cpp:258
std::string m_openpmd_backend
File type.
Definition: ParticleHistogram2D.H:36
amrex::Real m_bin_size_ord
Definition: ParticleHistogram2D.H:59
std::string function_string_ord
Definition: ParticleHistogram2D.H:63
int m_bin_num_ord
Definition: ParticleHistogram2D.H:43
std::unique_ptr< amrex::Parser > m_parser_value
Optional parser to filter particles before doing the histogram.
Definition: ParticleHistogram2D.H:80
amrex::TableData< amrex::Real, 2 > m_h_data_2D
output data
Definition: ParticleHistogram2D.H:46
int m_file_min_digits
minimum number of digits for file suffix (file-based only supported now for now) *‍/
Definition: ParticleHistogram2D.H:39
amrex::Real m_bin_size_abs
bin sizes
Definition: ParticleHistogram2D.H:58
amrex::Real m_bin_min_ord
Definition: ParticleHistogram2D.H:55
amrex::Real m_bin_min_abs
Definition: ParticleHistogram2D.H:53
bool m_do_parser_value
Whether the filter is activated.
Definition: ParticleHistogram2D.H:83
int m_bin_num_abs
number of bins on the abscissa and ordinate
Definition: ParticleHistogram2D.H:42
int m_selected_species_id
selected species index
Definition: ParticleHistogram2D.H:49
std::unique_ptr< amrex::Parser > m_parser_filter
Optional parser to filter particles before doing the histogram.
Definition: ParticleHistogram2D.H:74
Definition: ReducedDiags.H:24