diff options
author | 2019-12-23 14:04:37 -0800 | |
---|---|---|
committer | 2019-12-23 14:04:37 -0800 | |
commit | 2ebae955f208d63fe781613cb511ff57b5da836a (patch) | |
tree | 08d29fc0954aeb1c539d9549ba00bad5080b6ada /Source/Particles/PhysicalParticleContainer.cpp | |
parent | 4b5b142d63f047a94919e24b8849841560e7be15 (diff) | |
parent | db13c6aa943753b514479aa7e0049921937c8846 (diff) | |
download | WarpX-2ebae955f208d63fe781613cb511ff57b5da836a.tar.gz WarpX-2ebae955f208d63fe781613cb511ff57b5da836a.tar.zst WarpX-2ebae955f208d63fe781613cb511ff57b5da836a.zip |
Merge branch 'dev' into comm
Diffstat (limited to 'Source/Particles/PhysicalParticleContainer.cpp')
-rw-r--r-- | Source/Particles/PhysicalParticleContainer.cpp | 18 |
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 |