ImpactX
Public Member Functions | Public Attributes | Static Public Attributes | List of all members
impactx::distribution::ThermalData Struct Reference

#include <Thermal.H>

Public Member Functions

 ThermalData (amrex::ParticleReal kin, amrex::ParticleReal T1in, amrex::ParticleReal T2in, amrex::ParticleReal p1in, amrex::ParticleReal p2in, amrex::ParticleReal win)
 
void generate_radial_dist (amrex::ParticleReal bunch_charge, RefPart const &refpart)
 
amrex::ParticleReal matched_scale_radius ()
 
void integrate (amrex::ParticleReal in, amrex::ParticleReal out, int steps)
 
void map1 (amrex::ParticleReal const tau, amrex::ParticleReal &reval)
 
void map2 (amrex::ParticleReal const tau, amrex::ParticleReal &reval)
 

Public Attributes

amrex::ParticleReal m_f1
 cumulative distribution of first population More...
 
amrex::ParticleReal m_f2
 cumulative distribution of second population More...
 
amrex::ParticleReal m_phi1
 potential generated by first population More...
 
amrex::ParticleReal m_phi2
 potential generated by second population More...
 
amrex::ParticleReal m_p1
 normalization constant of first population More...
 
amrex::ParticleReal m_p2
 normalization constant of second population More...
 
amrex::ParticleReal m_rmin
 minimum r value for tabulated cdf More...
 
amrex::ParticleReal m_rmax
 maximum r value for tabulated cdf More...
 
int m_nbins
 number of radial bins for tabulated cdf More...
 
amrex::ParticleReal * m_cdf1 = nullptr
 tabulated cumulative distribution (first) More...
 
amrex::ParticleReal * m_cdf2 = nullptr
 tabulated cumulative distribution (second) More...
 
amrex::ParticleReal m_Cintensity
 space charge intensity parameter More...
 
amrex::ParticleReal m_bg
 reference value of relativistic beta*gamma More...
 
amrex::ParticleReal m_k
 linear focusing strength (1/meters) More...
 
amrex::ParticleReal m_T1
 temperature k*T of the primary (core) population More...
 
amrex::ParticleReal m_T2
 temperature k*T of the secondary (halo) population More...
 
amrex::ParticleReal m_w
 weight of the secondary (halo) population More...
 

Static Public Attributes

static constexpr amrex::ParticleReal tolerance = 1.0e-3
 tolerance for matching condition More...
 
static constexpr amrex::ParticleReal rin = 1.0e-10
 initial r value for numerical integration More...
 
static constexpr amrex::ParticleReal rout = 10.0
 final r value for numerical integration More...
 
static constexpr int nsteps = 2000
 number of radial steps for numerical integration More...
 
static amrex::Gpu::DeviceVector< amrex::ParticleReal > m_d_cdf1
 
static amrex::Gpu::DeviceVector< amrex::ParticleReal > m_d_cdf2
 

Constructor & Destructor Documentation

◆ ThermalData()

impactx::distribution::ThermalData::ThermalData ( amrex::ParticleReal  kin,
amrex::ParticleReal  T1in,
amrex::ParticleReal  T2in,
amrex::ParticleReal  p1in,
amrex::ParticleReal  p2in,
amrex::ParticleReal  win 
)
inline

Member Function Documentation

◆ generate_radial_dist()

void impactx::distribution::ThermalData::generate_radial_dist ( amrex::ParticleReal  bunch_charge,
RefPart const &  refpart 
)
inline

Populate the radial CDF data.

Parameters
[in]bunch_chargethe bunch charge in C
[in]refpartthe reference particle

◆ integrate()

void impactx::distribution::ThermalData::integrate ( amrex::ParticleReal  in,
amrex::ParticleReal  out,
int  steps 
)
inline

◆ map1()

void impactx::distribution::ThermalData::map1 ( amrex::ParticleReal const  tau,
amrex::ParticleReal &  reval 
)
inline

◆ map2()

void impactx::distribution::ThermalData::map2 ( amrex::ParticleReal const  tau,
amrex::ParticleReal &  reval 
)
inline

◆ matched_scale_radius()

amrex::ParticleReal impactx::distribution::ThermalData::matched_scale_radius ( )
inline

Member Data Documentation

◆ m_bg

amrex::ParticleReal impactx::distribution::ThermalData::m_bg

reference value of relativistic beta*gamma

◆ m_cdf1

amrex::ParticleReal* impactx::distribution::ThermalData::m_cdf1 = nullptr

tabulated cumulative distribution (first)

◆ m_cdf2

amrex::ParticleReal* impactx::distribution::ThermalData::m_cdf2 = nullptr

tabulated cumulative distribution (second)

◆ m_Cintensity

amrex::ParticleReal impactx::distribution::ThermalData::m_Cintensity

space charge intensity parameter

◆ m_d_cdf1

amrex::Gpu::DeviceVector<amrex::ParticleReal> impactx::distribution::ThermalData::m_d_cdf1
inlinestatic

◆ m_d_cdf2

amrex::Gpu::DeviceVector<amrex::ParticleReal> impactx::distribution::ThermalData::m_d_cdf2
inlinestatic

◆ m_f1

amrex::ParticleReal impactx::distribution::ThermalData::m_f1

cumulative distribution of first population

◆ m_f2

amrex::ParticleReal impactx::distribution::ThermalData::m_f2

cumulative distribution of second population

◆ m_k

amrex::ParticleReal impactx::distribution::ThermalData::m_k

linear focusing strength (1/meters)

◆ m_nbins

int impactx::distribution::ThermalData::m_nbins

number of radial bins for tabulated cdf

◆ m_p1

amrex::ParticleReal impactx::distribution::ThermalData::m_p1

normalization constant of first population

◆ m_p2

amrex::ParticleReal impactx::distribution::ThermalData::m_p2

normalization constant of second population

◆ m_phi1

amrex::ParticleReal impactx::distribution::ThermalData::m_phi1

potential generated by first population

◆ m_phi2

amrex::ParticleReal impactx::distribution::ThermalData::m_phi2

potential generated by second population

◆ m_rmax

amrex::ParticleReal impactx::distribution::ThermalData::m_rmax

maximum r value for tabulated cdf

◆ m_rmin

amrex::ParticleReal impactx::distribution::ThermalData::m_rmin

minimum r value for tabulated cdf

◆ m_T1

amrex::ParticleReal impactx::distribution::ThermalData::m_T1

temperature k*T of the primary (core) population

◆ m_T2

amrex::ParticleReal impactx::distribution::ThermalData::m_T2

temperature k*T of the secondary (halo) population

◆ m_w

amrex::ParticleReal impactx::distribution::ThermalData::m_w

weight of the secondary (halo) population

◆ nsteps

constexpr int impactx::distribution::ThermalData::nsteps = 2000
staticconstexpr

number of radial steps for numerical integration

◆ rin

constexpr amrex::ParticleReal impactx::distribution::ThermalData::rin = 1.0e-10
staticconstexpr

initial r value for numerical integration

◆ rout

constexpr amrex::ParticleReal impactx::distribution::ThermalData::rout = 10.0
staticconstexpr

final r value for numerical integration

◆ tolerance

constexpr amrex::ParticleReal impactx::distribution::ThermalData::tolerance = 1.0e-3
staticconstexpr

tolerance for matching condition


The documentation for this struct was generated from the following file: