-
Notifications
You must be signed in to change notification settings - Fork 27
Apochromatic focusing example #487
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
Apochromatic focusing example #487
Conversation
- Modified the initial beam size in the IOTA lens benchmark example. - Added 2 benchmarks of 3D space charge for initial testing. - Add documentation for 2 benchmarks with space charge. - Add a benchmark example with space charge and periodic s-dependent focusing. - Added an s-dependent example using a Kurth beam without space charge. - Modified tolerance for IOTA lens benchmark example. Reduced tolerance to account for smaller initial beam size and improved preservation of invariants of motion. - Modified tolerances of space charge examples to allow CI tests to pass when space charge is not active. - Modified tolerance for space charge examples. These should fail unless space charge is turned on.
Selected numerical values for amr.n_cell, lattice.nslice, and geometry.prob_relative.
for more information, see https://pre-commit.ci
Not part of this PR.
Emittance growth observed in ImpactX: 0.5% Note that Lindstrom (and ELEGANT) both use the non-canonical variables (x',y') while ImpactX always uses the canonical variables (px/p0,py/p0). For small relative energy spread, these are essentially equivalent. When energy spread becomes large, this difference becomes important. This may be the source of the difference: investigating this now. I modified the analysis script to use (x',y') as momentum variables for computing the emittance, and this effect is far too small to account for this difference (~0.02%). Solution: The original ImpactX input used a 6D waterbag distribution, while Lindstrom et al assumes a Gaussian distribution in energy. Changing to a 6D gaussian distribution and using the (x',y') variables above yields an emittance growth of 0.94%. |
Change to a Gaussian distribution.
Change to a gaussian distribution.
Nice! Great reconstruction of events 🕵️ 😄 |
for more information, see https://pre-commit.ci
Correct CMakeLists specification.
Correct misspelling.
Update Python to 10^5 particles
Python distribution type should be Gaussian.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thank you, looks great!
I think we could add a plot script for this as well, we can do this as a follow-up PR.
Added example input files for the drift-quad apochromatic focusing lattice shown in Fig. 4a of:
C. A. Lindstrom and E. Adli, Phys. Rev. Accel. Beams 19, 071002 (2016),
https://doi.org/10.1103/PhysRevAccelBeams.19.071002