|
ImpactX
|
#include <Buncher.H>
Public Types | |
| using | PType = ImpactXParticleContainer::ParticleType |
Public Attributes | |
| amrex::ParticleReal | m_V |
| amrex::ParticleReal | m_k |
| normalized (max) RF voltage drop. | |
| Public Attributes inherited from impactx::elements::mixin::Alignment | |
| amrex::ParticleReal | m_dx = 0 |
| amrex::ParticleReal | m_dy = 0 |
| horizontal translation error [m] | |
| amrex::ParticleReal | m_rotation = 0 |
| vertical translation error [m] | |
Static Public Attributes | |
| static constexpr auto | type = "Buncher" |
| Static Public Attributes inherited from impactx::elements::mixin::Named | |
| static constexpr std::nullopt_t | DEFAULT_name = std::nullopt |
| Static Public Attributes inherited from impactx::elements::mixin::LinearTransport< Buncher > | |
| static constexpr bool | has_linear_transport |
| Static Public Attributes inherited from impactx::elements::mixin::Alignment | |
| static constexpr amrex::ParticleReal | degree2rad |
| static constexpr amrex::ParticleReal | DEFAULT_dx = 0 |
| static constexpr amrex::ParticleReal | DEFAULT_dy = 0 |
| static constexpr amrex::ParticleReal | DEFAULT_rotation_degree = 0 |
Private Attributes | |
| amrex::ParticleReal | m_neg_kV |
| RF wavenumber in 1/m. | |
| amrex::ParticleReal | m_kV_r2bg2 |
| -m_k*m_V | |
|
inline |
A short RF cavity element at zero crossing for bunching
| V | Normalized RF voltage drop V = Emax*L/(c*Brho) |
| k | Wavenumber of RF in 1/m |
| dx | horizontal translation error in m |
| dy | vertical translation error in m |
| rotation_degree | rotation error in the transverse plane [degrees] |
| name | a user defined and not necessarily unique name of the element |
|
inline |
Compute and cache the constants for the push.
In particular, used to pre-compute and cache variables that are independent of the individually tracked particle.
| refpart | reference particle |
|
inline |
This is a buncher functor, so that a variable of this type can be used like a buncher function.
The
| x | particle position in x |
| y | particle position in y |
| t | particle position in t |
| px | particle momentum in x |
| py | particle momentum in y |
| pt | particle momentum in t |
| idcpu | particle global index (unused) |
| refpart | reference particle (unused) |
|
inline |
Reverse the element (negate V)
|
inline |
This function returns the linear transport map.
| [in] | refpart | reference particle |
| amrex::ParticleReal impactx::elements::Buncher::m_k |
normalized (max) RF voltage drop.
|
private |
-m_k*m_V
|
private |
RF wavenumber in 1/m.
| amrex::ParticleReal impactx::elements::Buncher::m_V |
|
staticconstexpr |