aboutsummaryrefslogtreecommitdiff
path: root/Source/Particles/PhysicalParticleContainer.H
diff options
context:
space:
mode:
authorGravatar Remi Lehe <remi.lehe@normalesup.org> 2019-08-19 15:34:52 -0700
committerGravatar Remi Lehe <remi.lehe@normalesup.org> 2019-08-19 15:34:52 -0700
commit863ff56254f5cc93e7030fa0c35481db42aabe2c (patch)
treec45e3cf99053c15a8a3e784bfd45a11fffc63852 /Source/Particles/PhysicalParticleContainer.H
parent9409e1b12c78442323c7181417c811b262d4a694 (diff)
parentc023286720c7ae8aa2913efc461240a81e8b2bd9 (diff)
downloadWarpX-863ff56254f5cc93e7030fa0c35481db42aabe2c.tar.gz
WarpX-863ff56254f5cc93e7030fa0c35481db42aabe2c.tar.zst
WarpX-863ff56254f5cc93e7030fa0c35481db42aabe2c.zip
Merge branch 'dev' into select_fields_in_tests
Diffstat (limited to 'Source/Particles/PhysicalParticleContainer.H')
-rw-r--r--Source/Particles/PhysicalParticleContainer.H51
1 files changed, 30 insertions, 21 deletions
diff --git a/Source/Particles/PhysicalParticleContainer.H b/Source/Particles/PhysicalParticleContainer.H
index d55764682..b80619733 100644
--- a/Source/Particles/PhysicalParticleContainer.H
+++ b/Source/Particles/PhysicalParticleContainer.H
@@ -27,17 +27,37 @@ public:
const amrex::Vector<std::unique_ptr<amrex::FabArray<amrex::BaseFab<int> > > >& masks) override;
virtual void EvolveES (const amrex::Vector<std::array<std::unique_ptr<amrex::MultiFab>, 3> >& E,
- amrex::Vector<std::unique_ptr<amrex::MultiFab> >& rho,
+ amrex::Vector<std::unique_ptr<amrex::MultiFab> >& rho,
amrex::Real t, amrex::Real dt) override;
#endif // WARPX_DO_ELECTROSTATIC
- 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) final;
+ 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) final;
+
+ void FieldGather (WarpXParIter& pti,
+ RealVector& Exp,
+ RealVector& Eyp,
+ RealVector& Ezp,
+ RealVector& Bxp,
+ RealVector& Byp,
+ RealVector& Bzp,
+ amrex::FArrayBox const * exfab,
+ amrex::FArrayBox const * eyfab,
+ amrex::FArrayBox const * ezfab,
+ amrex::FArrayBox const * bxfab,
+ amrex::FArrayBox const * byfab,
+ amrex::FArrayBox const * bzfab,
+ const int ngE, const int e_is_nodal,
+ const long offset,
+ const long np_to_gather,
+ int thread_num,
+ int lev,
+ int depos_lev);
virtual void Evolve (int lev,
const amrex::MultiFab& Ex,
@@ -87,11 +107,8 @@ public:
// Inject particles in Box 'part_box'
virtual void AddParticles (int lev);
+
void AddPlasma(int lev, amrex::RealBox part_realbox = amrex::RealBox());
- void AddPlasmaCPU (int lev, amrex::RealBox part_realbox);
-#ifdef AMREX_USE_GPU
- void AddPlasmaGPU (int lev, amrex::RealBox part_realbox);
-#endif
void MapParticletoBoostedFrame(amrex::Real& x, amrex::Real& y, amrex::Real& z, std::array<amrex::Real, 3>& u);
@@ -120,16 +137,8 @@ protected:
bool boost_adjust_transverse_positions = false;
bool do_backward_propagation = false;
- long NumParticlesToAdd (const amrex::Box& overlap_box,
- const amrex::RealBox& overlap_realbox,
- const amrex::RealBox& tile_real_box,
- const amrex::RealBox& particle_real_box);
-
- int GetRefineFac(const amrex::Real x, const amrex::Real y, const amrex::Real z);
- std::unique_ptr<amrex::IArrayBox> m_refined_injection_mask = nullptr;
-
// Inject particles during the whole simulation
- void ContinuousInjection(const amrex::RealBox& injection_box) override;
+ void ContinuousInjection (const amrex::RealBox& injection_box) override;
};