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/WarpXEvolve.cpp | 15 +++------------ 1 file changed, 3 insertions(+), 12 deletions(-) (limited to 'Source/WarpXEvolve.cpp') diff --git a/Source/WarpXEvolve.cpp b/Source/WarpXEvolve.cpp index 5e5154554..875a0392d 100644 --- a/Source/WarpXEvolve.cpp +++ b/Source/WarpXEvolve.cpp @@ -262,20 +262,11 @@ WarpX::InjectPlasma (int num_shift, int dir) const Real* dx = geom[lev].CellSize(); - for (int i = 0; i < num_injected_species; ++i) - { - int ppc = injected_plasma_ppc[i]; - Real density = injected_plasma_density[i]; -#if BL_SPACEDIM==3 - Real weight = density * dx[0]*dx[1]*dx[2]/ppc; -#elif BL_SPACEDIM==2 - Real weight = density * dx[0]*dx[1]/ppc; -#endif - + for (int i = 0; i < num_injected_species; ++i) { int ispecies = injected_plasma_species[i]; WarpXParticleContainer& pc = mypc->GetParticleContainer(ispecies); - - pc.AddParticles(lev, particleBox, weight, ppc); + PhysicalParticleContainer* ppc = (PhysicalParticleContainer*) &pc; + ppc->AddParticles(lev, particleBox); } } } -- cgit v1.2.3 From 98f16f99525036d0fb7e1d110454f1b80ac5605c Mon Sep 17 00:00:00 2001 From: atmyers Date: Thu, 16 Mar 2017 16:53:30 -0700 Subject: use a dynamic cast here. --- Source/WarpXEvolve.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'Source/WarpXEvolve.cpp') diff --git a/Source/WarpXEvolve.cpp b/Source/WarpXEvolve.cpp index 875a0392d..19ac77098 100644 --- a/Source/WarpXEvolve.cpp +++ b/Source/WarpXEvolve.cpp @@ -265,8 +265,8 @@ WarpX::InjectPlasma (int num_shift, int dir) for (int i = 0; i < num_injected_species; ++i) { int ispecies = injected_plasma_species[i]; WarpXParticleContainer& pc = mypc->GetParticleContainer(ispecies); - PhysicalParticleContainer* ppc = (PhysicalParticleContainer*) &pc; - ppc->AddParticles(lev, particleBox); + auto& ppc = dynamic_cast(pc); + ppc.AddParticles(lev, particleBox); } } } -- cgit v1.2.3