aboutsummaryrefslogtreecommitdiff
path: root/Source/Particles/WarpXParticleContainer.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'Source/Particles/WarpXParticleContainer.cpp')
-rw-r--r--Source/Particles/WarpXParticleContainer.cpp22
1 files changed, 16 insertions, 6 deletions
diff --git a/Source/Particles/WarpXParticleContainer.cpp b/Source/Particles/WarpXParticleContainer.cpp
index f590d3cc0..e2a34727c 100644
--- a/Source/Particles/WarpXParticleContainer.cpp
+++ b/Source/Particles/WarpXParticleContainer.cpp
@@ -594,7 +594,11 @@ WarpXParticleContainer::DepositCharge (WarpXParIter& pti, RealVector const& wp,
{
if (!do_not_deposit) {
WarpX& warpx = WarpX::GetInstance();
+
+ // deposition guards
+ // note: this is smaller than rho->nGrowVect() for PSATD
const amrex::IntVect& ng_rho = warpx.get_ng_depos_rho();
+
const std::array<amrex::Real,3>& dx = WarpX::CellSize(std::max(depos_lev,0));
amrex::IntVect ref_ratio;
if (lev == depos_lev) {
@@ -641,12 +645,18 @@ WarpXParticleContainer::DepositCharge (WarpXParIter& pti, RealVector const& wp,
amrex::LayoutData<amrex::Real>* costs = WarpX::getCosts(lev);
amrex::Real* cost = costs ? &((*costs)[pti.index()]) : nullptr;
- ablastr::particles::deposit_charge<WarpXParticleContainer>
- (pti, wp, ion_lev, rho, icomp, nc, offset, np_to_depose,
- local_rho[thread_num], lev, depos_lev, this->charge,
- WarpX::nox, WarpX::noy, WarpX::noz, ng_rho, dx, xyzmin, ref_ratio,
- cost, WarpX::n_rz_azimuthal_modes, WarpX::load_balance_costs_update_algo,
- WarpX::do_device_synchronize);
+ AMREX_ALWAYS_ASSERT(WarpX::nox == WarpX::noy);
+ AMREX_ALWAYS_ASSERT(WarpX::nox == WarpX::noz);
+
+ ablastr::particles::deposit_charge<WarpXParticleContainer>(
+ pti, wp, this->charge, ion_lev,
+ rho, local_rho[thread_num],
+ WarpX::noz, dx, xyzmin, WarpX::n_rz_azimuthal_modes,
+ ng_rho, depos_lev, ref_ratio,
+ offset, np_to_depose,
+ icomp, nc,
+ cost, WarpX::load_balance_costs_update_algo, WarpX::do_device_synchronize
+ );
}
}