From 8b7bbe4b1bff5d6176970cbb0405640f702706b2 Mon Sep 17 00:00:00 2001 From: atmyers Date: Wed, 15 Mar 2017 15:35:14 -0700 Subject: refactor particle initialization code, both for initial conditions and when the window moves. --- Source/WarpXParticleContainer.cpp | 43 --------------------------------------- 1 file changed, 43 deletions(-) (limited to 'Source/WarpXParticleContainer.cpp') diff --git a/Source/WarpXParticleContainer.cpp b/Source/WarpXParticleContainer.cpp index 76860ee1e..25b92a712 100644 --- a/Source/WarpXParticleContainer.cpp +++ b/Source/WarpXParticleContainer.cpp @@ -65,49 +65,6 @@ WarpXParticleContainer::AddOneParticle (ParticleTileType& particle_tile, particle_tile.push_back(attribs); } -void -WarpXParticleContainer::AddParticles (int lev, const Box& part_box, Real weight, int ppc) -{ - const Geometry& geom = Geom(lev); - const Real* dx = geom.CellSize(); - - std::array attribs; - attribs.fill(0.0); - attribs[PIdx::w] = weight; - - for (MFIter mfi = MakeMFIter(lev); mfi.isValid(); ++mfi) - { - const Box& tile_box = mfi.tilebox(); - const Box& intersectBox = tile_box & part_box; - if (intersectBox.ok()) - { - RealBox real_box { intersectBox, dx, geom.ProbLo() }; - - const int grid_id = mfi.index(); - const int tile_id = mfi.LocalTileIndex(); - - const IntVect& boxlo = tile_box.smallEnd(); - for (IntVect iv = boxlo; iv <= tile_box.bigEnd(); tile_box.next(iv)) - { - for (int i_part=0; i_part < ppc; i_part++) - { - Real particle_shift = (0.5+i_part)/ppc; -#if (BL_SPACEDIM == 3) - Real x = real_box.lo(0) + (iv[0]-boxlo[0] + particle_shift)*dx[0]; - Real y = real_box.lo(1) + (iv[1]-boxlo[1] + particle_shift)*dx[1]; - Real z = real_box.lo(2) + (iv[2]-boxlo[2] + particle_shift)*dx[2]; -#elif (BL_SPACEDIM == 2) - Real x = real_box.lo(0) + (iv[0]-boxlo[0] + particle_shift)*dx[0]; - Real y = 0.0; - Real z = real_box.lo(1) + (iv[1]-boxlo[1] + particle_shift)*dx[1]; -#endif - AddOneParticle(lev, grid_id, tile_id, x, y, z, attribs); - } - } - } - } -} - void WarpXParticleContainer::AddNParticles (int n, const Real* x, const Real* y, const Real* z, const Real* vx, const Real* vy, const Real* vz, -- cgit v1.2.3