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
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
38private:
39 std::string m_diag_name;
40 std::string m_name;
43};
44
45#endif // WARPX_PARTICLEDIAG_H_
amrex::ParticleContainerPureSoA< PIdx::nattribs, 0, amrex::PinnedArenaAllocator > PinnedMemoryParticleContainer
Definition PinnedMemoryParticleContainer.H:6
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:17
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
bool m_do_parser_filter
Definition ParticleDiag.H:30
PinnedMemoryParticleContainer * getPinnedParticleContainer() const
Definition ParticleDiag.H:23
Definition WarpXParticleContainer.H:200