aboutsummaryrefslogtreecommitdiff
path: root/Source/Particles/PhysicalParticleContainer.cpp
diff options
context:
space:
mode:
authorGravatar Dave Grote <grote1@llnl.gov> 2019-12-20 16:48:13 -0800
committerGravatar Dave Grote <grote1@llnl.gov> 2019-12-20 16:48:13 -0800
commit1663daf9a2425c806515425d499fc4bb9ad38d0c (patch)
tree9cb261d0fb42bfb348fab87722d3337d58978b35 /Source/Particles/PhysicalParticleContainer.cpp
parent6b322d6fa0c0b079768fb3fb5d123025389120dc (diff)
parentdb13c6aa943753b514479aa7e0049921937c8846 (diff)
downloadWarpX-1663daf9a2425c806515425d499fc4bb9ad38d0c.tar.gz
WarpX-1663daf9a2425c806515425d499fc4bb9ad38d0c.tar.zst
WarpX-1663daf9a2425c806515425d499fc4bb9ad38d0c.zip
Merge remote-tracking branch 'ECPwarpx/dev' into write_all_rz_components
Diffstat (limited to 'Source/Particles/PhysicalParticleContainer.cpp')
-rw-r--r--Source/Particles/PhysicalParticleContainer.cpp18
1 files changed, 11 insertions, 7 deletions
diff --git a/Source/Particles/PhysicalParticleContainer.cpp b/Source/Particles/PhysicalParticleContainer.cpp
index d5c08074a..94d9bc363 100644
--- a/Source/Particles/PhysicalParticleContainer.cpp
+++ b/Source/Particles/PhysicalParticleContainer.cpp
@@ -1431,15 +1431,19 @@ PhysicalParticleContainer::SplitParticles(int lev)
{
pti.GetPosition(xp, yp, zp);
- // offset for split particles is computed as a function of cell size
- // and number of particles per cell, so that a uniform distribution
- // before splitting results in a uniform distribution after splitting
const amrex::Vector<int> ppc_nd = plasma_injector->num_particles_per_cell_each_dim;
const std::array<Real,3>& dx = WarpX::CellSize(lev);
- amrex::Vector<Real> split_offset = {dx[0]/2._rt/ppc_nd[0],
- dx[1]/2._rt/ppc_nd[1],
- dx[2]/2._rt/ppc_nd[2]};
-
+ amrex::Vector<Real> split_offset = {dx[0]/2._rt,
+ dx[1]/2._rt,
+ dx[2]/2._rt};
+ if (ppc_nd[0] > 0){
+ // offset for split particles is computed as a function of cell size
+ // and number of particles per cell, so that a uniform distribution
+ // before splitting results in a uniform distribution after splitting
+ split_offset[0] /= ppc_nd[0];
+ split_offset[1] /= ppc_nd[1];
+ split_offset[2] /= ppc_nd[2];
+ }
// particle Array Of Structs data
auto& particles = pti.GetArrayOfStructs();
// particle Struct Of Arrays data