Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add support for openPMD output #11

Open
17 of 27 tasks
AngelFP opened this issue Dec 23, 2020 · 0 comments
Open
17 of 27 tasks

Add support for openPMD output #11

AngelFP opened this issue Dec 23, 2020 · 0 comments
Labels
enhancement New feature or request

Comments

@AngelFP
Copy link
Owner

AngelFP commented Dec 23, 2020

Since its origin, the only output in Wake-T after tracking a particle distribution through a beamline (or beamline element) has been a simple list of n_out ParticleBunches. To make Wake-T more useful and resemble better what a user typically expects from a plasma simulation code, a proper output to disk should be implemented. This will be done following the openPMD standard by taking advantage of the openPMD-api.

This issue keeps track and compiles all the required and wished features of the diagnostics (as well as bugs/issues which appear during implementation).

Required features:

  • Output of particle distributions at each step, as defined by n_out, in:
    • PlasmaStage.
    • PlasmaRamp.
    • PlasmaLens.
    • TMElement.
  • Output of all fields used internally (Ez, Wr, rho, CSR wakes...) at each step, as defined by n_out.
    • PlasmaStage.
    • PlasmaRamp.
    • PlasmaLens.
    • TMElement.
  • Possibility of specifying name and path of diagnostics directory.
  • Write diagnostics of whole Beamline to the same folder (this might include plasma elements, drifts, magnets, etc. which require different attributes and datasets in the output).
  • In the plasma elements, output individual components of E and B and not just the combined wakefield W.

Nice to have:

  • Option to choose field or particle diagnostics only.
  • Or even better, option to specify individual fields and particle quantities to write.
  • Option to output plasma particles in quasistatic_2d model.
  • Option of writing diagnostics of each element to a separate directory.

Bugs/issues to solve:

  • A name parameter should be added to ParticleBunch. Right now all bunches are called electron_bunch in the diagnostics.
  • Check that the position field attribute it correctly set (cell centered vs node centered).
  • A cleaner way of setting the field dimensions and other parameter could be implemented.
  • ED_PIC metadata is currently missing in particle species. Check if/what to add because Wake-T is not a PIC code.
  • Same for fields, it is not clear what to write in some ED_PIC metadata.
  • No output is currently generated at t=0.
  • The attribute iterationFormat is not correct.
  • Some fields are transposed in the output and do not agree with the axis order specified in attributes such as axisLabels.
  • gridGlobalOffset is not correct. It should add (and not substract) xi_min. Also, it is incorrectly named 'local_offset' in some parts of the code.
  • Set iteration encoding to file based.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

1 participant