diff options
author | 2020-09-24 07:43:03 +0200 | |
---|---|---|
committer | 2020-09-23 22:43:03 -0700 | |
commit | 8797c599f2c16e33a790300ebb275b7b696df91b (patch) | |
tree | c882767138dc023aab07d6e5414f00b2c321c685 /Source/Particles/MultiParticleContainer.cpp | |
parent | 20649677733e0b457def83ff48147facf8268b5c (diff) | |
download | WarpX-8797c599f2c16e33a790300ebb275b7b696df91b.tar.gz WarpX-8797c599f2c16e33a790300ebb275b7b696df91b.tar.zst WarpX-8797c599f2c16e33a790300ebb275b7b696df91b.zip |
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
Diffstat (limited to 'Source/Particles/MultiParticleContainer.cpp')
-rw-r--r-- | Source/Particles/MultiParticleContainer.cpp | 18 |
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 { |