#include <Kurth6D.H>
|
| | Kurth6D (amrex::ParticleReal lambdax, amrex::ParticleReal lambday, amrex::ParticleReal lambdat, amrex::ParticleReal lambdapx, amrex::ParticleReal lambdapy, amrex::ParticleReal lambdapt, amrex::ParticleReal muxpx=0.0, amrex::ParticleReal muypy=0.0, amrex::ParticleReal mutpt=0.0, amrex::ParticleReal meanx=0.0, amrex::ParticleReal meany=0.0, amrex::ParticleReal meant=0.0, amrex::ParticleReal meanpx=0.0, amrex::ParticleReal meanpy=0.0, amrex::ParticleReal meanpt=0.0, amrex::ParticleReal dispx=0.0, amrex::ParticleReal disppx=0.0, amrex::ParticleReal dispy=0.0, amrex::ParticleReal disppy=0.0) |
| |
| void | initialize (amrex::ParticleReal bunch_charge, RefPart const &ref) |
| |
| void | finalize () |
| |
| AMREX_GPU_HOST_DEVICE AMREX_FORCE_INLINE void | operator() (amrex::ParticleReal &AMREX_RESTRICT x, amrex::ParticleReal &AMREX_RESTRICT y, amrex::ParticleReal &AMREX_RESTRICT t, amrex::ParticleReal &AMREX_RESTRICT px, amrex::ParticleReal &AMREX_RESTRICT py, amrex::ParticleReal &AMREX_RESTRICT pt, amrex::RandomEngine const &engine) const |
| |
◆ Kurth6D()
| impactx::distribution::Kurth6D::Kurth6D |
( |
amrex::ParticleReal | lambdax, |
|
|
amrex::ParticleReal | lambday, |
|
|
amrex::ParticleReal | lambdat, |
|
|
amrex::ParticleReal | lambdapx, |
|
|
amrex::ParticleReal | lambdapy, |
|
|
amrex::ParticleReal | lambdapt, |
|
|
amrex::ParticleReal | muxpx = 0.0, |
|
|
amrex::ParticleReal | muypy = 0.0, |
|
|
amrex::ParticleReal | mutpt = 0.0, |
|
|
amrex::ParticleReal | meanx = 0.0, |
|
|
amrex::ParticleReal | meany = 0.0, |
|
|
amrex::ParticleReal | meant = 0.0, |
|
|
amrex::ParticleReal | meanpx = 0.0, |
|
|
amrex::ParticleReal | meanpy = 0.0, |
|
|
amrex::ParticleReal | meanpt = 0.0, |
|
|
amrex::ParticleReal | dispx = 0.0, |
|
|
amrex::ParticleReal | disppx = 0.0, |
|
|
amrex::ParticleReal | dispy = 0.0, |
|
|
amrex::ParticleReal | disppy = 0.0 ) |
|
inline |
A 6D Kurth distribution
Return sampling from a 6D Kurth distribution.
R. Kurth, Quarterly of Applied Mathematics vol. 32, pp. 325-329 (1978) C. Mitchell, K. Hwang and R. D. Ryne, IPAC2021, WEPAB248 (2021)
- Parameters
-
| lambdax,lambday,lambdat | for zero correlation, these are the related RMS sizes (in meters) |
| lambdapx,lambdapy,lambdapt | RMS momentum |
| muxpx,muypy,mutpt | correlation length-momentum |
| meanx,meany,meant | offsets of the mean (centroid) positions from those of the reference particle |
| meanpx,meanpy,meanpt | offsets of the mean (centroid) momenta from those of the reference particle |
| dispx,disppx,dispy,disppy | dispersion and its derivative in horizontal and vertical directions |
◆ finalize()
| void impactx::distribution::Kurth6D::finalize |
( |
| ) |
|
|
inline |
Close and deallocate all data and handles.
Nothing to do here.
◆ initialize()
Initialize the distribution.
Nothing to do here.
- Parameters
-
| bunch_charge | charge of the beam in C |
| ref | the reference particle |
◆ operator()()
Return 1 6D particle coordinate
- Parameters
-
| 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 |
| engine | a random number engine (with associated state) |
◆ m_disppx
◆ m_disppy
◆ m_dispx
momentum coordinates of centroid offset
◆ m_dispy
◆ m_lambdaPt
◆ m_lambdaPx
related position axis intercepts (length) of the phase space ellipse
◆ m_lambdaPy
◆ m_lambdaT
◆ m_lambdaX
◆ m_lambdaY
◆ m_meanpt
◆ m_meanpx
spatial coordinates of centroid offset
◆ m_meanpy
◆ m_meant
◆ m_meanx
correlation length-momentum
◆ m_meany
◆ m_mutpt
◆ m_muxpx
related momentum axis intercepts of the phase space ellipse
◆ m_muypy
The documentation for this struct was generated from the following file:
- /home/docs/checkouts/readthedocs.org/user_builds/impactx/checkouts/1402/src/particles/distribution/Kurth6D.H