openPMD-standard
openPMD-standard copied to clipboard
Particle Patches: Offset & Extent General Component
Particle patches could be made more general in the following way:
- they already describe disjoint sets of hyperrectangles regarding the spatial particle position
One could now:
- define a reference attribute for each record component in
offset/andextent/that names the according particle record component - this allows to created hyperrectangular patches in, e.g.,
ux, x - the validator can throw a warning if the named record does not exist in the species
Generally, this could also be helpful to provide a simulation's bounding box, e.g. in moving window simulations, when reading and visualizing "moving" particle data (without fields that would provide such a "natural" simulation bounding box).
not clean. better way:
- keep 1d arrays
particlePatches/numParticlesparticlePatches/numParticlesOffset
- create directories
particlePatches/offset/particlePatches/extent/
allow arbitrary records already defined in the species in these new groups. Each unique record + component names needs to exist, including unitDimension, etc., in both directories (and the species' path) to define start and extent of the hyperrectangle.
the hyperrectangle can now be in an arbitrary space (e.g., in disjoint hyperrectangles in 6D phase space).
We should combine this with a solution to store boxes of fields (cannot find issue right now for this), so that we can reconstruct domain decompositions even if no particles are written.