aboutsummaryrefslogtreecommitdiff
path: root/Source/Particles/MultiParticleContainer.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'Source/Particles/MultiParticleContainer.cpp')
-rw-r--r--Source/Particles/MultiParticleContainer.cpp22
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");