openPMD-standard
openPMD-standard copied to clipboard
ED-PIC: Move Particle Boundaries
The particle boundaries are currently, due to the thetaMode that makes it possible that a particle boundary for the position components x and y is defined over a combination of both, e.g., a virtual r, defined on the mesh.
This is sub-ideal, since it forces all particles to use the same boundary conditions, which might not be the case. Examples: semipermeable walls, (re-)injector walls + reflection/open for other particle species, etc.
I propose therefore, for an upcoming version, to move the particleBoundary attributes down to a particle record attribute and to find a way to express the thetaMode boundaries (on the position) component-wise so things like r "open boundary"/"absorbing"/"reflecting" can be defined even on x, y, z components of each particle specie's position (or at an other place in the particle itself).
currentSmoothing is an other candidate that should be a particle attribute for each species that creates the (charged/neutral) current (migrated from #128).
additionally, we could call absorbing boundaries open boundaries as in the fieldBoundary namings
"Open" boundaries sounds ambiguous to me.
For particles it might not. Since the boundaries are all surfaces, open is used for open surface which is well defined what to expect (and implementation dependent on how it is done -> *Param).
(the same way we do not write reflectingSurface, reinjectingSurface, etc.)