|
ImpactX
|
#include <Thermal.H>
Public Member Functions | |
| Thermal (amrex::ParticleReal k, amrex::ParticleReal kT, amrex::ParticleReal kT_halo, amrex::ParticleReal normalize, amrex::ParticleReal normalize_halo, amrex::ParticleReal halo) | |
| 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 |
Public Attributes | |
| amrex::ParticleReal | m_k |
| amrex::ParticleReal | m_T1 |
| linear focusing strength (1/meters) | |
| amrex::ParticleReal | m_T2 |
| amrex::ParticleReal | m_normalize |
| temperature of each particle population | |
| amrex::ParticleReal | m_normalize_halo |
| amrex::ParticleReal | m_halo |
| normalization constant of first/second population | |
| amrex::ParticleReal | m_rmin |
| relative weight of halo population | |
| amrex::ParticleReal | m_rmax |
| maximum r value for tabulated cdf | |
| int | m_nbins |
| number of radial bins for tabulated cdf | |
| amrex::ParticleReal | m_bg |
| reference value of relativistic beta*gamma | |
| amrex::ParticleReal | m_w |
| weight of the secondary (halo) population | |
Private Attributes | |
| amrex::ParticleReal const * | m_cdf1 = nullptr |
| amrex::ParticleReal const * | m_cdf2 = nullptr |
| non-owning pointer to device core CDF | |
|
inline |
A stationary Thermal or Bi-thermal distribution
Return sampling from a 6D bi-thermal distribution, a stationary solution of the Vlasov-Poisson system in an isotropic linear focusing channel.
| k | linear focusing strength (1/meters) |
| kT | temperature k*T of the primary (core) population |
| kT_halo | temperature k*T of the secondary (halo) population |
| normalize | normalization constant of first population |
| normalize_halo | normalization constant of second population |
| halo | weight of the secondary (halo) population |
|
inline |
Close and deallocate all data and handles.
|
inline |
Initialize the distribution.
This in particular sets the m_data radial profile of the stationary beam
| bunch_charge | charge of the beam in C |
| ref | the reference particle |
|
inline |
Return 1 6D particle coordinate
| 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) |
| amrex::ParticleReal impactx::distribution::Thermal::m_bg |
reference value of relativistic beta*gamma
|
private |
|
private |
non-owning pointer to device core CDF
| amrex::ParticleReal impactx::distribution::Thermal::m_halo |
normalization constant of first/second population
| amrex::ParticleReal impactx::distribution::Thermal::m_k |
| int impactx::distribution::Thermal::m_nbins |
number of radial bins for tabulated cdf
| amrex::ParticleReal impactx::distribution::Thermal::m_normalize |
temperature of each particle population
| amrex::ParticleReal impactx::distribution::Thermal::m_normalize_halo |
| amrex::ParticleReal impactx::distribution::Thermal::m_rmax |
maximum r value for tabulated cdf
| amrex::ParticleReal impactx::distribution::Thermal::m_rmin |
relative weight of halo population
minimum r value for tabulated cdf
| amrex::ParticleReal impactx::distribution::Thermal::m_T1 |
linear focusing strength (1/meters)
| amrex::ParticleReal impactx::distribution::Thermal::m_T2 |
| amrex::ParticleReal impactx::distribution::Thermal::m_w |
weight of the secondary (halo) population