This PR removes geometry.is_periodic, fields.extended_solve and fields.open_boundary and replaces them with
boundary.field = Dirichlet/Periodic/Open, boundary.particle = Reflecting/Periodic/Absorbing, boundary.particle_lo and boundary.particle_hi. Additionally, some boundary related bugs are fixed such as incorrectly using FillBoundary instead of SumBoundary, some noise developing from the level 1 boundary with MR and the boundary condition not being applied to beam particles after they are initialized.
Test with many plasma wavelength, MR at -10:10 and a beam radius of 7. This PR significantly reduces the noise from MR, however there is a little bit remaining around -1e3:-12/12.
PR:
Dev:
[ ] Small enough (< few 100s of lines), otherwise it should probably be split into smaller PRs
[ ] Tested (describe the tests in the PR description)
[ ] Runs on GPU (basic: the code compiles and run well with the new module)
[ ] Contains an automated test (checksum and/or comparison with theory)
[ ] Documented: all elements (classes and their members, functions, namespaces, etc.) are documented
This PR removes
geometry.is_periodic
,fields.extended_solve
andfields.open_boundary
and replaces them withboundary.field = Dirichlet/Periodic/Open
,boundary.particle = Reflecting/Periodic/Absorbing
,boundary.particle_lo
andboundary.particle_hi
. Additionally, some boundary related bugs are fixed such as incorrectly using FillBoundary instead of SumBoundary, some noise developing from the level 1 boundary with MR and the boundary condition not being applied to beam particles after they are initialized.Test with many plasma wavelength, MR at -10:10 and a beam radius of 7. This PR significantly reduces the noise from MR, however there is a little bit remaining around -1e3:-12/12. PR: Dev:
const
isconst
)