|
ImpactX
|
#include <TaperedPL.H>
Public Types | |
| using | PType = ImpactXParticleContainer::ParticleType |
Public Attributes | |
| amrex::ParticleReal | m_k |
| amrex::ParticleReal | m_taper |
| linear focusing strength (field gradient) | |
| int | m_unit |
| horizontal taper parameter | |
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 = "TaperedPL" |
Static Public Attributes inherited from impactx::elements::mixin::LinearTransport< TaperedPL > | |
| 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 |
|
inline |
A short segment of a nonlinear plasma lens with a transverse taper.
| k | integrated plasma lens (linear) focusing strength in m^(-1) = (length in m) * (azimuthal field gradient in T/m) / (rigidity in T-m) OR integrated azimuthal magnetic field gradient in T (k > 0) |
| unit | Unit specification unit = 0 integrated linear focusing strength in m^(-1) unit = 1 integrated linear focusing strength in T |
| taper | horizontal taper parameter in m^(-1) = 1 / (horizontal dispersion in 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 |
This is a tapered PL functor, so that a variable of this type can be used like a shortrf function.
| 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 |
|
inline |
Reverse the element (negate strength)
|
inline |
This function returns the linear transport map.
The tapered plasma-lens kick implemented by
m_unit: either m^-1 directly, or rigidity-normalized from T via refpart.rigidity_Tm()).Linearized at the reference trajectory (x = y = 0), the taper contributes only quadratic terms and drops out. The element therefore reduces to a thin axisymmetric focusing kick: R(2,1) = -g, R(4,3) = -g.
Ideal behavior only: alignment and rotation errors, and any feed-down from an off-axis reference orbit, are ignored; the map is taken at (x, y) = (0, 0).
MAD-X convention: no direct analogue. Its linear limit coincides with a thin axisymmetric focusing quadrupole-like kick (equivalent to a MAD-X MULTIPOLE with normal KNL of equal strength in both transverse planes), but MAD-X has no element that carries the quadratic taper term.
Physics references:
| [in] | refpart | reference particle (used only for the unit conversion when m_unit == 1) |
| amrex::ParticleReal impactx::elements::TaperedPL::m_k |
| amrex::ParticleReal impactx::elements::TaperedPL::m_taper |
linear focusing strength (field gradient)
| int impactx::elements::TaperedPL::m_unit |
horizontal taper parameter
|
staticconstexpr |