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(std::string rd_name);
34 
36  std::string m_openpmd_backend {"default"};
37 
41 
44 
47 
49  amrex::Real m_bin_max_abs;
50  amrex::Real m_bin_min_abs;
51  amrex::Real m_bin_max_ord;
52  amrex::Real m_bin_min_ord;
53 
55  amrex::Real m_bin_size_abs;
56  amrex::Real m_bin_size_ord;
57 
59  std::string function_string_abs;
60  std::string function_string_ord;
61  std::string filter_string;
62  std::string value_string;
63 
66  static constexpr int m_nvars = 8;
67  std::unique_ptr<amrex::Parser> m_parser_abs;
68  std::unique_ptr<amrex::Parser> m_parser_ord;
69 
71  std::unique_ptr<amrex::Parser> m_parser_filter;
72 
74  bool m_do_parser_filter = false;
75 
77  std::unique_ptr<amrex::Parser> m_parser_value;
78 
81 
87  void ComputeDiags(int step) final;
88 
94  void WriteToFile (int step) const final;
95 
96 };
97 
98 #endif
Definition: ParticleHistogram2D.H:26
std::unique_ptr< amrex::Parser > m_parser_ord
Definition: ParticleHistogram2D.H:68
std::string value_string
Definition: ParticleHistogram2D.H:62
std::unique_ptr< amrex::Parser > m_parser_abs
Definition: ParticleHistogram2D.H:67
void ComputeDiags(int step) final
Definition: ParticleHistogram2D.cpp:130
std::string function_string_abs
functions
Definition: ParticleHistogram2D.H:59
static constexpr int m_nvars
7 elements are t, x, y, z, ux, uy, uz, w
Definition: ParticleHistogram2D.H:66
std::string filter_string
Definition: ParticleHistogram2D.H:61
bool m_do_parser_filter
Whether the filter is activated.
Definition: ParticleHistogram2D.H:74
amrex::Real m_bin_max_ord
Definition: ParticleHistogram2D.H:51
amrex::Real m_bin_max_abs
max and min bin values
Definition: ParticleHistogram2D.H:49
ParticleHistogram2D(std::string rd_name)
Definition: ParticleHistogram2D.cpp:57
void WriteToFile(int step) const final
Definition: ParticleHistogram2D.cpp:254
std::string m_openpmd_backend
File type.
Definition: ParticleHistogram2D.H:36
amrex::Real m_bin_size_ord
Definition: ParticleHistogram2D.H:56
std::string function_string_ord
Definition: ParticleHistogram2D.H:60
int m_bin_num_ord
Definition: ParticleHistogram2D.H:40
std::unique_ptr< amrex::Parser > m_parser_value
Optional parser to filter particles before doing the histogram.
Definition: ParticleHistogram2D.H:77
amrex::TableData< amrex::Real, 2 > m_h_data_2D
output data
Definition: ParticleHistogram2D.H:43
amrex::Real m_bin_size_abs
bin sizes
Definition: ParticleHistogram2D.H:55
amrex::Real m_bin_min_ord
Definition: ParticleHistogram2D.H:52
amrex::Real m_bin_min_abs
Definition: ParticleHistogram2D.H:50
bool m_do_parser_value
Whether the filter is activated.
Definition: ParticleHistogram2D.H:80
int m_bin_num_abs
number of bins on the abscissa and ordinate
Definition: ParticleHistogram2D.H:39
int m_selected_species_id
selected species index
Definition: ParticleHistogram2D.H:46
std::unique_ptr< amrex::Parser > m_parser_filter
Optional parser to filter particles before doing the histogram.
Definition: ParticleHistogram2D.H:71
Definition: ReducedDiags.H:24