aboutsummaryrefslogtreecommitdiff
path: root/Source/Particles/MultiParticleContainer.cpp
diff options
context:
space:
mode:
authorGravatar Andrew Myers <atmyers2@gmail.com> 2020-02-04 07:09:07 -0800
committerGravatar Andrew Myers <atmyers2@gmail.com> 2020-02-04 07:09:07 -0800
commitef6595cb2b176caeaf84176137cb042dd6bc42fd (patch)
tree1b0ffcebd8d3b7a3bbd5b4c262c55ae409052ce3 /Source/Particles/MultiParticleContainer.cpp
parent7d36cffd550a96aaf3c2f8ba20d30f02d97ef550 (diff)
downloadWarpX-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.cpp16
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,