diff options
author | 2019-02-04 18:30:26 -0800 | |
---|---|---|
committer | 2019-02-04 18:30:26 -0800 | |
commit | a321b95b2f7fc48d295368e3d8772a3b8135328f (patch) | |
tree | fee1d6055e0d435f0321ecaea696609afda782d2 /Source/WarpXParticleContainer.cpp | |
parent | 415bcd342181240b3c87e1ea3506c0e8118ef42e (diff) | |
download | WarpX-a321b95b2f7fc48d295368e3d8772a3b8135328f.tar.gz WarpX-a321b95b2f7fc48d295368e3d8772a3b8135328f.tar.zst WarpX-a321b95b2f7fc48d295368e3d8772a3b8135328f.zip |
added temporary PhysicalParticleContainer to the MultiParticleContainer. segfault at init
Diffstat (limited to 'Source/WarpXParticleContainer.cpp')
-rw-r--r-- | Source/WarpXParticleContainer.cpp | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/Source/WarpXParticleContainer.cpp b/Source/WarpXParticleContainer.cpp index e15a73e58..99e794317 100644 --- a/Source/WarpXParticleContainer.cpp +++ b/Source/WarpXParticleContainer.cpp @@ -131,14 +131,18 @@ WarpXParticleContainer::AddNParticles (int lev, const Real* vx, const Real* vy, const Real* vz, int nattr, const Real* attr, int uniqueparticles) { + + Print()<<"here -1\n"; BL_ASSERT(nattr == 1); const Real* weight = attr; int ibegin, iend; if (uniqueparticles) { + Print()<<"here -2\n"; ibegin = 0; iend = n; } else { + Print()<<"here -3\n"; int myproc = ParallelDescriptor::MyProc(); int nprocs = ParallelDescriptor::NProcs(); int navg = n/nprocs; @@ -154,11 +158,15 @@ WarpXParticleContainer::AddNParticles (int lev, // Add to grid 0 and tile 0 // Redistribute() will move them to proper places. + Print()<<"here -4\n"; std::pair<int,int> key {0,0}; + Print()<<"here -10\n"; auto& particle_tile = GetParticles(lev)[key]; + Print()<<"here -11\n"; for (int i = ibegin; i < iend; ++i) { + Print()<<"here -5\n"; ParticleType p; p.id() = ParticleType::NextID(); p.cpu() = ParallelDescriptor::MyProc(); @@ -167,6 +175,7 @@ WarpXParticleContainer::AddNParticles (int lev, p.pos(1) = y[i]; p.pos(2) = z[i]; #elif (AMREX_SPACEDIM == 2) + Print()<<"here -6\n"; p.pos(0) = x[i]; p.pos(1) = z[i]; #endif @@ -177,18 +186,24 @@ WarpXParticleContainer::AddNParticles (int lev, if (np > 0) { + Print()<<"here 1\n"; particle_tile.push_back_real(PIdx::w , weight + ibegin, weight + iend); + Print()<<"here 2\n"; particle_tile.push_back_real(PIdx::ux, vx + ibegin, vx + iend); particle_tile.push_back_real(PIdx::uy, vy + ibegin, vy + iend); particle_tile.push_back_real(PIdx::uz, vz + ibegin, vz + iend); + Print()<<"here 3\n"; for (int comp = PIdx::uz+1; comp < PIdx::nattribs; ++comp) { + Print()<<"here 4\n"; particle_tile.push_back_real(comp, np, 0.0); } } + Print()<<"here 5\n"; Redistribute(); + Print()<<"here 6\n"; } |