aboutsummaryrefslogtreecommitdiff
path: root/Source/Particles/WarpXParticleContainer.H
diff options
context:
space:
mode:
Diffstat (limited to 'Source/Particles/WarpXParticleContainer.H')
-rw-r--r--Source/Particles/WarpXParticleContainer.H26
1 files changed, 7 insertions, 19 deletions
diff --git a/Source/Particles/WarpXParticleContainer.H b/Source/Particles/WarpXParticleContainer.H
index 8bc4491d7..33769c61c 100644
--- a/Source/Particles/WarpXParticleContainer.H
+++ b/Source/Particles/WarpXParticleContainer.H
@@ -32,7 +32,7 @@ struct PIdx
{
enum { // Particle Attributes stored in amrex::ParticleContainer's struct of array
w = 0, // weight
- ux, uy, uz, Ex, Ey, Ez, Bx, By, Bz,
+ ux, uy, uz,
#ifdef WARPX_DIM_RZ
theta, // RZ needs all three position components
#endif
@@ -65,14 +65,8 @@ namespace ParticleStringNames
{"ux", PIdx::ux },
{"uy", PIdx::uy },
{"uz", PIdx::uz },
- {"Ex", PIdx::Ex },
- {"Ey", PIdx::Ey },
- {"Ez", PIdx::Ez },
- {"Bx", PIdx::Bx },
- {"By", PIdx::By },
- {"Bz", PIdx::Bz }
#ifdef WARPX_DIM_RZ
- ,{"theta", PIdx::theta}
+ {"theta", PIdx::theta}
#endif
};
}
@@ -85,6 +79,8 @@ public:
WarpXParIter (ContainerType& pc, int level);
+ WarpXParIter (ContainerType& pc, int level, amrex::MFItInfo& info);
+
const std::array<RealVector, PIdx::nattribs>& GetAttribs () const {
return GetStructOfArrays().GetRealData();
}
@@ -128,9 +124,7 @@ class MultiParticleContainer;
* push.
*
* Note: many functions are pure virtual (meaning they MUST be defined in
- * derived classes, e.g., Evolve) or empty function (meaning they
- * do not do anything, e.g., FieldGather, meant to be overriden by derived
- * function) or actual functions (e.g. CurrentDeposition).
+ * derived classes, e.g., Evolve) or actual functions (e.g. CurrentDeposition).
*/
class WarpXParticleContainer
: public amrex::ParticleContainer<0,0,PIdx::nattribs>
@@ -155,14 +149,6 @@ public:
virtual void InitData () = 0;
- virtual void FieldGatherES (const amrex::Vector<std::array<std::unique_ptr<amrex::MultiFab>, 3> >& E,
- const amrex::Vector<std::unique_ptr<amrex::FabArray<amrex::BaseFab<int> > > >& masks) {}
-
- virtual void FieldGather (int lev,
- const amrex::MultiFab& Ex, const amrex::MultiFab& Ey,
- const amrex::MultiFab& Ez, const amrex::MultiFab& Bx,
- const amrex::MultiFab& By, const amrex::MultiFab& Bz) {}
-
/**
* Evolve is the central WarpXParticleContainer function that advances
* particles for a time dt (typically one timestep). It is a pure virtual
@@ -342,6 +328,8 @@ public:
template<PhysicalSpecies PhysSpec>
bool AmIA () const noexcept {return (physical_species == PhysSpec);}
+ amrex::Array<amrex::Real,3> get_v_galilean () {return v_galilean;}
+
protected:
amrex::Array<amrex::Real,3> v_galilean = {{0}};
std::map<std::string, int> particle_comps;