|
ImpactX
|
#include <NonlinearLens.H>
Public Types | |
| using | PType = ImpactXParticleContainer::ParticleType |
Public Attributes | |
| amrex::ParticleReal | m_knll |
| amrex::ParticleReal | m_cnll |
| integrated strength of the nonlinear lens (m) | |
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 = "NonlinearLens" |
Static Public Attributes inherited from impactx::elements::mixin::LinearTransport< NonlinearLens > | |
| static constexpr bool | has_linear_transport |
Static Public Attributes inherited from impactx::elements::mixin::Alignment | |
| static constexpr amrex::ParticleReal | degree2rad = ablastr::constant::math::pi / 180.0 |
Private Attributes | |
| amrex::ParticleReal | m_inv_cnll |
| distance of singularities from the origin (m) | |
| amrex::ParticleReal | m_kick |
| 1 / m_cnll | |
|
inline |
Single short segment of the nonlinear magnetic insert element
A thin lens associated with a single short segment of the nonlinear magnetic insert described by V. Danilov and S. Nagaitsev, PRSTAB 13, 084002 (2010), Sect. V.A. This element appears in MAD-X as type NLLENS.
| knll | integrated strength of the nonlinear lens (m) |
| cnll | distance of singularities from the origin (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 nonlinear lens functor, so that a variable of this type can be used like a nonlinear lens 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 strength)
|
inline |
This function returns the linear transport map.
The Danilov-Nagaitsev kick implemented by
Ideal behavior only: alignment and rotation errors, as well as feed-down from an off-axis reference orbit, are ignored; the map is evaluated at (x, y) = (0, 0).
This element appears in MAD-X as type NLLENS. The linear limit above is the MAD-X linear quadrupole equivalent of the NLLENS thin kick (cf. MAD-X Physical Methods Manual, nonlinear lens).
Reference: V. Danilov and S. Nagaitsev, Phys. Rev. ST Accel. Beams 13, 084002 (2010), Sect. V.A
| [in] | refpart | reference particle (unused) |
| amrex::ParticleReal impactx::elements::NonlinearLens::m_cnll |
integrated strength of the nonlinear lens (m)
|
private |
distance of singularities from the origin (m)
|
private |
1 / m_cnll
| amrex::ParticleReal impactx::elements::NonlinearLens::m_knll |
|
staticconstexpr |