diff options
author | 2020-02-04 07:09:07 -0800 | |
---|---|---|
committer | 2020-02-04 07:09:07 -0800 | |
commit | ef6595cb2b176caeaf84176137cb042dd6bc42fd (patch) | |
tree | 1b0ffcebd8d3b7a3bbd5b4c262c55ae409052ce3 /Source/Particles/MultiParticleContainer.cpp | |
parent | 7d36cffd550a96aaf3c2f8ba20d30f02d97ef550 (diff) | |
download | WarpX-ef6595cb2b176caeaf84176137cb042dd6bc42fd.tar.gz WarpX-ef6595cb2b176caeaf84176137cb042dd6bc42fd.tar.zst WarpX-ef6595cb2b176caeaf84176137cb042dd6bc42fd.zip |
exit early in the case that there are 0 src particles
Diffstat (limited to 'Source/Particles/MultiParticleContainer.cpp')
-rw-r--r-- | Source/Particles/MultiParticleContainer.cpp | 16 |
1 files changed, 9 insertions, 7 deletions
diff --git a/Source/Particles/MultiParticleContainer.cpp b/Source/Particles/MultiParticleContainer.cpp index c7619c8ef..adab0129e 100644 --- a/Source/Particles/MultiParticleContainer.cpp +++ b/Source/Particles/MultiParticleContainer.cpp @@ -488,11 +488,11 @@ MultiParticleContainer::PostRestart () void MultiParticleContainer -::GetLabFrameData(const std::string& snapshot_name, - const int i_lab, const int direction, - const Real z_old, const Real z_new, - const Real t_boost, const Real t_lab, const Real dt, - Vector<WarpXParticleContainer::DiagnosticParticleData>& parts) const +::GetLabFrameData (const std::string& snapshot_name, + const int i_lab, const int direction, + const Real z_old, const Real z_new, + const Real t_boost, const Real t_lab, const Real dt, + Vector<WarpXParticleContainer::DiagnosticParticleData>& parts) const { BL_PROFILE("MultiParticleContainer::GetLabFrameData"); @@ -554,7 +554,7 @@ MultiParticleContainer * calls virtual function ContinuousInjection. */ void -MultiParticleContainer::ContinuousInjection(const RealBox& injection_box) const +MultiParticleContainer::ContinuousInjection (const RealBox& injection_box) const { for (int i=0; i<nspecies+nlasers; i++){ auto& pc = allcontainers[i]; @@ -570,7 +570,7 @@ MultiParticleContainer::ContinuousInjection(const RealBox& injection_box) const * a position to update (PhysicalParticleContainer does not do anything). */ void -MultiParticleContainer::UpdateContinuousInjectionPosition(Real dt) const +MultiParticleContainer::UpdateContinuousInjectionPosition (Real dt) const { for (int i=0; i<nspecies+nlasers; i++){ auto& pc = allcontainers[i]; @@ -675,6 +675,8 @@ MultiParticleContainer::doFieldIonization () auto np_src = src_tile.numParticles(); auto np_dst = dst_tile.numParticles(); + if (np_src == 0) continue; + dst_tile.resize(np_dst + np_src); auto num_added = filterCopyTransformParticles(dst_tile, src_tile, np_dst, |