WarpX
Loading...
Searching...
No Matches
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{
19public:
20 ParticleDiag(const std::string& diag_name, const std::string& name,
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 bool m_plot_Ex = false; // Whether to output the Ex on the particles
28 bool m_plot_Ey = false; // Whether to output the Ey on the particles
29 bool m_plot_Ez = false; // Whether to output the Ez on the particles
30 bool m_plot_Bx = false; // Whether to output the Bx on the particles
31 bool m_plot_By = false; // Whether to output the By on the particles
32 bool m_plot_Bz = false; // Whether to output the Bz on the particles
33
34 bool m_do_random_filter = false;
35 bool m_do_uniform_filter = false;
36 bool m_do_parser_filter = false;
37 bool m_do_geom_filter = false;
40 static constexpr int m_nvars = 7; // t, x, y, z, ux, uy, uz
41 std::unique_ptr<amrex::Parser> m_particle_filter_parser;
43
44private:
45 std::string m_diag_name;
46 std::string m_name;
49};
50
51#endif // WARPX_PARTICLEDIAG_H_
amrex::Real m_random_fraction
Definition ParticleDiag.H:38
amrex::RealBox m_diag_domain
Definition ParticleDiag.H:42
bool m_do_random_filter
Definition ParticleDiag.H:34
WarpXParticleContainer * m_pc
Definition ParticleDiag.H:47
bool m_plot_Bx
Definition ParticleDiag.H:30
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:37
WarpXParticleContainer::Base * m_pinned_pc
Definition ParticleDiag.H:48
std::string m_name
Definition ParticleDiag.H:46
bool m_plot_Ex
Definition ParticleDiag.H:27
WarpXParticleContainer::Base * getPinnedParticleContainer() const
Definition ParticleDiag.H:23
static constexpr int m_nvars
Definition ParticleDiag.H:40
std::string getSpeciesName() const
Definition ParticleDiag.H:24
std::unique_ptr< amrex::Parser > m_particle_filter_parser
Definition ParticleDiag.H:41
bool m_plot_phi
Definition ParticleDiag.H:26
bool m_plot_Ey
Definition ParticleDiag.H:28
ParticleDiag(const std::string &diag_name, const std::string &name, WarpXParticleContainer *pc, WarpXParticleContainer::Base *pinned_pc=nullptr)
Definition ParticleDiag.cpp:17
int m_uniform_stride
Definition ParticleDiag.H:39
bool m_plot_Ez
Definition ParticleDiag.H:29
bool m_do_uniform_filter
Definition ParticleDiag.H:35
std::string m_diag_name
Definition ParticleDiag.H:45
bool m_do_parser_filter
Definition ParticleDiag.H:36
bool m_plot_By
Definition ParticleDiag.H:31
bool m_plot_Bz
Definition ParticleDiag.H:32
Definition WarpXParticleContainer.H:195
amrex::ParticleContainerPureSoA< PIdx::nattribs, 0, amrex::PolymorphicArenaAllocator > Base
Definition WarpXParticleContainer.H:199
amrex_real Real