diff options
Diffstat (limited to 'Source/Particles/MultiParticleContainer.cpp')
-rw-r--r-- | Source/Particles/MultiParticleContainer.cpp | 22 |
1 files changed, 14 insertions, 8 deletions
diff --git a/Source/Particles/MultiParticleContainer.cpp b/Source/Particles/MultiParticleContainer.cpp index b7d34ec75..9061aec40 100644 --- a/Source/Particles/MultiParticleContainer.cpp +++ b/Source/Particles/MultiParticleContainer.cpp @@ -293,14 +293,20 @@ MultiParticleContainer::ReadParameters () "ERROR: use_fdtd_nci_corr is not supported in RZ"); #endif - std::string boundary_conditions = "none"; - pp_particles.query("boundary_conditions", boundary_conditions); - if (boundary_conditions == "none"){ - m_boundary_conditions = ParticleBC::none; - } else if (boundary_conditions == "absorbing"){ - m_boundary_conditions = ParticleBC::absorbing; - } else { - amrex::Abort("unknown particle BC type"); + // The boundary conditions are read in in ReadBCParams + m_boundary_conditions.SetBoundsX(WarpX::particle_boundary_lo[0], WarpX::particle_boundary_hi[0]); +#ifdef WARPX_DIM_3D + m_boundary_conditions.SetBoundsY(WarpX::particle_boundary_lo[1], WarpX::particle_boundary_hi[1]); + m_boundary_conditions.SetBoundsZ(WarpX::particle_boundary_lo[2], WarpX::particle_boundary_hi[2]); +#else + m_boundary_conditions.SetBoundsZ(WarpX::particle_boundary_lo[1], WarpX::particle_boundary_hi[1]); +#endif + + { + ParmParse pp_boundary("boundary"); + bool flag = false; + pp_boundary.query("reflect_all_velocities", flag); + m_boundary_conditions.Set_reflect_all_velocities(flag); } ParmParse pp_lasers("lasers"); |