|
ImpactX
|
#include <NonlinearLensInvariants.H>
Classes | |
| struct | Data |
Public Types | |
| using | PType = ImpactXParticleContainer::ParticleType |
Public Member Functions | |
| NonlinearLensInvariants (amrex::ParticleReal const alpha, amrex::ParticleReal const beta, amrex::ParticleReal const tn, amrex::ParticleReal const cn) | |
| AMREX_GPU_HOST_DEVICE AMREX_FORCE_INLINE Data | operator() (amrex::ParticleReal const x, amrex::ParticleReal const y, amrex::ParticleReal const px, amrex::ParticleReal const py) const |
Private Attributes | |
| amrex::ParticleReal | m_alpha |
| amrex::ParticleReal | m_beta |
| Twiss alpha. | |
| amrex::ParticleReal | m_tn |
| Twiss beta (m) | |
| amrex::ParticleReal | m_cn |
| dimensionless strength of the nonlinear insert | |
Compute invariants within the nonlinear magnetic insert element
Invariants 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.
|
inline |
Initialize the parameters for the invariants based on the beam distribution and parameters of the nonlinear insert element
| alpha | - Twiss alpha for the bare lattice |
| beta | - Twiss beta for the bare lattice (m) |
| tn | - dimensionless strength of the nonlinear insert |
| cn | - scale parameter of the nonlinear insert (m^[1/2]) |
|
inline |
This is a nonlinear invariant functor, so that a variable of this type can be used like a nonlinear invariant function.
| x | particle position in x |
| y | particle position in y |
| px | particle momentum in x |
| py | particle momentum in y |
|
private |
|
private |
Twiss alpha.
|
private |
dimensionless strength of the nonlinear insert
|
private |
Twiss beta (m)