Add BunchHistogram diagnostic class #85
Open
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This PR adds the
BunchHistogramclass to theorbit.diagnosticsmodule. The class uses the grid objects fromorbit.core.spacecharge(Grid1D,Grid2D,Grid3D) to compute 1D, 2D, or 3D histograms (3D not working yet #47). It will work with MPI. This extends the currentorbit.diagnostics.profilesfunction, which computes 1D histograms.The data is optionally saved using
xarrayformat. The user can load the data and retreive the grid, values, grid coordinates, and dimension names.Tests
Note that the histogram is smoothed since the grid classes using cloud-in-cell weighting.
1D Test (https://github.com/austin-hoover/PyORBIT3/blob/hist/examples/Diagnostics/Histogram/test_hist_1d.py):
2D Test (https://github.com/austin-hoover/PyORBIT3/blob/hist/examples/Diagnostics/Histogram/test_hist_2d.py):