diff options
author | 2019-09-25 09:16:41 -0700 | |
---|---|---|
committer | 2019-09-25 09:16:41 -0700 | |
commit | 6069ed791ca2f71e00b81c32aca4e785d7735290 (patch) | |
tree | 7edd9158f220f62fdfcd9434690ae25ba2744456 /Source/Particles/PhysicalParticleContainer.cpp | |
parent | e78ecdb5b6cfe7cb6693007eef8ea9f410adc418 (diff) | |
download | WarpX-6069ed791ca2f71e00b81c32aca4e785d7735290.tar.gz WarpX-6069ed791ca2f71e00b81c32aca4e785d7735290.tar.zst WarpX-6069ed791ca2f71e00b81c32aca4e785d7735290.zip |
comments
Diffstat (limited to 'Source/Particles/PhysicalParticleContainer.cpp')
-rw-r--r-- | Source/Particles/PhysicalParticleContainer.cpp | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/Source/Particles/PhysicalParticleContainer.cpp b/Source/Particles/PhysicalParticleContainer.cpp index ca633fc41..f2d3c0d75 100644 --- a/Source/Particles/PhysicalParticleContainer.cpp +++ b/Source/Particles/PhysicalParticleContainer.cpp @@ -1319,9 +1319,14 @@ 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<amrex::Real> split_offset = {dx[0]/2/ppc_nd[0], dx[1]/2/ppc_nd[1], dx[2]/2/ppc_nd[2]}; + amrex::Vector<amrex::Real> split_offset = {dx[0]/2/ppc_nd[0], + dx[1]/2/ppc_nd[1], + dx[2]/2/ppc_nd[2]}; // particle Array Of Structs data auto& particles = pti.GetArrayOfStructs(); |