-
Notifications
You must be signed in to change notification settings - Fork 20
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 transverse kicker #410
Conversation
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, that looks great.
I added a small commit using self-describing arguments at the call site for the kicker: a C++ enum and strings when describing the unit system of the Kicker. I also clarified a few details on the normalization of the dimensionless option.
- 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.
This is not part of this PR.
for more information, see https://pre-commit.ci
Co-authored-by: Axel Huebl <axel.huebl@plasma.ninja>
Relax tolerance slightly.
Update the C++ API to use an enum for the unit system and the Python API & inputs file syntax to accept a string. That makes the parameters at the call sites self-describing. Also clarifies in doc strings what dimensionless is referring to (units of magnetic rigidity of the reference particle).
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.
These changes look reasonable to me, thanks. I agree that this should make the choice of units more transparent to the user.
Added a thin transverse kicker element, corresponding to MAD-X elements 'hkicker', 'vkicker', 'kicker', and 'tkicker'.