WarpX
ParticleDiag.H
Go to the documentation of this file.
1 #ifndef WARPX_PARTICLEDIAG_H_
2 #define WARPX_PARTICLEDIAG_H_
3 
4 #include "ParticleDiag_fwd.H"
5 
8 
9 #include <AMReX_Parser.H>
10 #include <AMReX_REAL.H>
11 #include <AMReX_RealBox.H>
12 #include <AMReX_Vector.H>
13 
14 #include <memory>
15 #include <string>
16 
18 {
19 public:
20  ParticleDiag(const std::string& diag_name, const std::string& name,
21  WarpXParticleContainer* pc, PinnedMemoryParticleContainer *pinned_pc = nullptr);
22  [[nodiscard]] WarpXParticleContainer* getParticleContainer() const { return m_pc; }
24  [[nodiscard]] std::string getSpeciesName() const { return m_name; }
26  bool m_plot_phi = false; // Whether to output the potential phi on the particles
27 
28  bool m_do_random_filter = false;
29  bool m_do_uniform_filter = false;
30  bool m_do_parser_filter = false;
31  bool m_do_geom_filter = false;
32  amrex::Real m_random_fraction = 1.0;
34  static constexpr int m_nvars = 7; // t, x, y, z, ux, uy, uz
35  std::unique_ptr<amrex::Parser> m_particle_filter_parser;
37 
38 private:
39  std::string m_diag_name;
40  std::string m_name;
43 };
44 
45 #endif // WARPX_PARTICLEDIAG_H_
Definition: NamedComponentParticleContainer.H:64
Definition: ParticleDiag.H:18
amrex::Real m_random_fraction
Definition: ParticleDiag.H:32
amrex::RealBox m_diag_domain
Definition: ParticleDiag.H:36
bool m_do_random_filter
Definition: ParticleDiag.H:28
WarpXParticleContainer * m_pc
Definition: ParticleDiag.H:41
WarpXParticleContainer * getParticleContainer() const
Definition: ParticleDiag.H:22
amrex::Vector< int > m_plot_flags
Definition: ParticleDiag.H:25
bool m_do_geom_filter
Definition: ParticleDiag.H:31
std::string m_name
Definition: ParticleDiag.H:40
static constexpr int m_nvars
Definition: ParticleDiag.H:34
std::string getSpeciesName() const
Definition: ParticleDiag.H:24
std::unique_ptr< amrex::Parser > m_particle_filter_parser
Definition: ParticleDiag.H:35
bool m_plot_phi
Definition: ParticleDiag.H:26
int m_uniform_stride
Definition: ParticleDiag.H:33
ParticleDiag(const std::string &diag_name, const std::string &name, WarpXParticleContainer *pc, PinnedMemoryParticleContainer *pinned_pc=nullptr)
Definition: ParticleDiag.cpp:16
bool m_do_uniform_filter
Definition: ParticleDiag.H:29
PinnedMemoryParticleContainer * m_pinned_pc
Definition: ParticleDiag.H:42
std::string m_diag_name
Definition: ParticleDiag.H:39
PinnedMemoryParticleContainer * getPinnedParticleContainer() const
Definition: ParticleDiag.H:23
bool m_do_parser_filter
Definition: ParticleDiag.H:30
Definition: WarpXParticleContainer.H:111
name
Definition: run_automated.py:229