WarpX
FieldProbeParticleContainer.H
Go to the documentation of this file.
1 /* Copyright 2021 Elisa Rheaume, Axel Huebl
2  *
3  * This file is part of WarpX.
4  *
5  * License: BSD-3-Clause-LBNL
6  */
7 
8 #ifndef WARPX_FieldProbeParticleContainer_H_
9 #define WARPX_FieldProbeParticleContainer_H_
10 
11 #include <AMReX_ParIter.H>
12 #include <AMReX_Particles.H>
13 
14 #include <AMReX_BaseFwd.H>
15 #include <AMReX_AmrCoreFwd.H>
16 #include <AMReX_Vector.H>
17 
24 {
25  enum
26  {
27 #if !defined (WARPX_DIM_1D_Z)
28  x,
29 #endif
30 #if defined (WARPX_DIM_3D)
31  y,
32 #endif
33  z,
34  Ex, Ey, Ez,
35  Bx, By, Bz,
36  S,
37 #ifdef WARPX_DIM_RZ
39 #endif
40  nattribs
41  };
42 };
43 
50  : public amrex::ParticleContainerPureSoA<FieldProbePIdx::nattribs, 0>
51 {
52 public:
53  static constexpr int NStructReal = 0;
54  static constexpr int NStructInt = 0;
55  static constexpr int NReal = FieldProbePIdx::nattribs;
56  static constexpr int NInt = 0;
57 
59  ~FieldProbeParticleContainer() override = default;
60 
65 
70 
73 };
74 
75 #endif // WARPX_FieldProbeParticleContainer_H_
Definition: FieldProbeParticleContainer.H:51
FieldProbeParticleContainer(amrex::AmrCore *amr_core)
Definition: FieldProbeParticleContainer.cpp:61
void AddNParticles(int lev, amrex::Vector< amrex::ParticleReal > const &x, amrex::Vector< amrex::ParticleReal > const &y, amrex::Vector< amrex::ParticleReal > const &z)
similar to WarpXParticleContainer::AddNParticles but does not include u(x,y,z)
Definition: FieldProbeParticleContainer.cpp:68
~FieldProbeParticleContainer() override=default
static constexpr int NStructReal
Definition: FieldProbeParticleContainer.H:53
static constexpr int NInt
Definition: FieldProbeParticleContainer.H:56
static constexpr int NReal
Definition: FieldProbeParticleContainer.H:55
FieldProbeParticleContainer(FieldProbeParticleContainer const &)=delete
FieldProbeParticleContainer & operator=(FieldProbeParticleContainer const &)=delete
static constexpr int NStructInt
Definition: FieldProbeParticleContainer.H:54
FieldProbeParticleContainer(FieldProbeParticleContainer &&)=default
Definition: FieldProbeParticleContainer.H:24
@ S
the Poynting vector
Definition: FieldProbeParticleContainer.H:36
@ z
Definition: FieldProbeParticleContainer.H:33
@ By
Definition: FieldProbeParticleContainer.H:35
@ nattribs
Definition: FieldProbeParticleContainer.H:40
@ Ez
Definition: FieldProbeParticleContainer.H:34
@ x
Definition: FieldProbeParticleContainer.H:28
@ theta
RZ needs all three position components.
Definition: FieldProbeParticleContainer.H:38
@ Ey
Definition: FieldProbeParticleContainer.H:34
@ Bx
Definition: FieldProbeParticleContainer.H:35
@ Bz
Definition: FieldProbeParticleContainer.H:35
@ Ex
Definition: FieldProbeParticleContainer.H:34