aboutsummaryrefslogtreecommitdiff
path: root/Source/Particles/PhysicalParticleContainer.cpp
diff options
context:
space:
mode:
authorGravatar Phil Miller <phil@intensecomputing.com> 2022-08-15 13:43:38 -0700
committerGravatar GitHub <noreply@github.com> 2022-08-15 13:43:38 -0700
commit3bb148ebbc1c8eae47d1f00ab60e68a041289cb6 (patch)
tree34496fd90e9f9aeb443ebef89a1e15bf643decb3 /Source/Particles/PhysicalParticleContainer.cpp
parent960e4d717b637443c2efaa5b6a9718718cbdee06 (diff)
downloadWarpX-3bb148ebbc1c8eae47d1f00ab60e68a041289cb6.tar.gz
WarpX-3bb148ebbc1c8eae47d1f00ab60e68a041289cb6.tar.zst
WarpX-3bb148ebbc1c8eae47d1f00ab60e68a041289cb6.zip
Move handling of do_not_deposit to physics callers (#3225)
* Rearrange in preparation for lifting do_not_deposit higher in the call stack * Make do_not_deposit public, so callers can test on it * Make all DepositCharge call sites respect WarpXParticleContainer::do_not_deposit * Drop check for do_not_deposit in DepositCharge * Fix comment to accurately describe np_to_depose * Fix logic to account for other logic in AddSpaceChargeField * Match zero charge density array to filled array in RZ PSATD case * Structure control flow per @dpgrote's preference * Reword comment for clarity
Diffstat (limited to 'Source/Particles/PhysicalParticleContainer.cpp')
-rw-r--r--Source/Particles/PhysicalParticleContainer.cpp4
1 files changed, 2 insertions, 2 deletions
diff --git a/Source/Particles/PhysicalParticleContainer.cpp b/Source/Particles/PhysicalParticleContainer.cpp
index 72543982b..5b0ea8ae5 100644
--- a/Source/Particles/PhysicalParticleContainer.cpp
+++ b/Source/Particles/PhysicalParticleContainer.cpp
@@ -1910,7 +1910,7 @@ PhysicalParticleContainer::Evolve (int lev,
const long np_current = (cjx) ? nfine_current : np;
- if (rho && ! skip_deposition) {
+ if (rho && ! skip_deposition && ! do_not_deposit) {
// Deposit charge before particle push, in component 0 of MultiFab rho.
int* AMREX_RESTRICT ion_lev;
if (do_field_ionization){
@@ -2006,7 +2006,7 @@ PhysicalParticleContainer::Evolve (int lev,
} // end of "if do_electrostatic == ElectrostaticSolverAlgo::None"
} // end of "if do_not_push"
- if (rho && ! skip_deposition) {
+ if (rho && ! skip_deposition && ! do_not_deposit) {
// Deposit charge after particle push, in component 1 of MultiFab rho.
// (Skipped for electrostatic solver, as this may lead to out-of-bounds)
if (WarpX::do_electrostatic == ElectrostaticSolverAlgo::None) {