From 8797c599f2c16e33a790300ebb275b7b696df91b Mon Sep 17 00:00:00 2001 From: MaxThevenet Date: Thu, 24 Sep 2020 07:43:03 +0200 Subject: Option to have absorbing BC for particles, regardless of field BC (#1334) * option to have absorbing BC for particles, regarless of field BC * document input parameter particles.absorbing_bc * minor, just add a small comment * clarify doc and use better input parameter * clarify documentation --- Source/Particles/MultiParticleContainer.cpp | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) (limited to 'Source/Particles/MultiParticleContainer.cpp') 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 MultiParticleContainer::NumberOfParticlesInGrid (int lev) const { -- cgit v1.2.3