-
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 beam eigenemittances to reduced diagnostics. #702
Conversation
for more information, see https://pre-commit.ci
Clean Doxygen and delete unused function TestMult (used for benchmarking).
Clean Doxygen
Clean Doxygen
Remove duplicate Doxygen comments in EmittanceInvariants.cpp/h
for more information, see https://pre-commit.ci
for more information, see https://pre-commit.ci
Comment benchmarking call to Eigenemittance to avoid unused variable errors.
This works, but suffers a loss of precision in certain cases (eg, uncoupled beams with et << ex = ey) due to the appearance of a small discriminant in Cardano's formula. A fix for this is under investigation. Some tests failing for unrelated reasons due to pytest. |
for more information, see https://pre-commit.ci
for more information, see https://pre-commit.ci
Corrected path to benchmark test files.
Update path for analysis scripts.
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!!
I took a quick first look and added first inline suggestions. More thorough tomorrow :)
Co-authored-by: Axel Huebl <[email protected]>
Add PROFILE header.
Use math functions from std:: (sqrt, pow, sin, cos, etc) -> (std::sqrt, std::pow, std::sin, std::cos, etc).
Co-authored-by: Axel Huebl <[email protected]>
Remove std::math for complex functions.
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.
This looks great!
Only spaces
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.
Avoid copies of matrices
Add amrex::SmallMatrix class with compile time size. Useful for, e.g.: - ECP-WarpX/impactx#714 - ECP-WarpX/impactx#702
Update treatment of warnings.
Changes to test_transformation.py were not intentional. These were reversed per code review. Co-authored-by: Axel Huebl <[email protected]>
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!
This PR adds calculation of the 3 eigenemittances (or mode emittances) of the 6D beam distribution from particle data as an additional reduced diagnostic. Addresses Issue #663.