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.cpp18
1 files changed, 18 insertions, 0 deletions
diff --git a/Source/Particles/MultiParticleContainer.cpp b/Source/Particles/MultiParticleContainer.cpp
index cb47755f7..a740330d7 100644
--- a/Source/Particles/MultiParticleContainer.cpp
+++ b/Source/Particles/MultiParticleContainer.cpp
@@ -250,6 +250,16 @@ MultiParticleContainer::ReadParameters ()
pp.query("use_fdtd_nci_corr", WarpX::use_fdtd_nci_corr);
pp.query("galerkin_interpolation", WarpX::galerkin_interpolation);
+ std::string boundary_conditions = "none";
+ pp.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");
+ }
+
ParmParse ppl("lasers");
ppl.queryarr("names", lasers_names);
@@ -385,6 +395,14 @@ MultiParticleContainer::RedistributeLocal (const int num_ghost)
}
}
+void
+MultiParticleContainer::ApplyBoundaryConditions ()
+{
+ for (auto& pc : allcontainers) {
+ pc->ApplyBoundaryConditions(m_boundary_conditions);
+ }
+}
+
Vector<long>
MultiParticleContainer::NumberOfParticlesInGrid (int lev) const
{