-
Notifications
You must be signed in to change notification settings - Fork 17
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 classical radiation reactions for beams #974
add classical radiation reactions for beams #974
Conversation
f2badc3
to
c5eb481
Compare
be9ff50
to
0859637
Compare
|
||
// Radiation reaction constant | ||
const amrex::ParticleReal q_over_mc = charge_mass_ratio*inv_clight; | ||
const amrex::ParticleReal RRcoeff = (2.0_rt/3.0_rt)*PhysConstSI::r_e*q_over_mc*q_over_mc; |
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.
Can you calculate RRcoeff outside of the kernel and also make it work in normalized units using plasmas.background_density_SI
?
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.
I am going to add normalized units in a separate PR, since this will require shifting the plasmas.background_density_SI
to hipace.background_density_SI
and I found this to be cleaner in a separate PR.
Edit: Added it already now
Can you include HiPACE++ with radiation reactions turned off in the plot in the PR description? |
I added it, since it is a matched beam, nothing happens without RR |
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.
Great, thanks for this PR! See minor comments below.
Co-authored-by: Maxence Thévenet <maxence.thevenet@desy.de>
This PR adds the energy loss due to classical radiation reactions of particle beams to the code.
The implementation is based on the following paper: M. Tamburini et al., NJP 12, 123005. In the paper, the implementation is discussed for a Boris pusher. HiPACE++ uses a velocity Verlet pusher for the beam particles.
This document translates the approach from the paper to a velocity Verlet pusher.
To benchmark the implementation, it was tested against the theory from the following paper: P. Michel et al., PRE 74, 026501, where the energy loss due to betatron radiation in a blowout is discussed. Using the same test case as in CI (just with more output to give a meaningful plot and more beam particles) gave the following result (similar to Fig. 1 in the paper):
const
isconst
)