ImpactX
Loading...
Searching...
No Matches
impactx::elements::RFCavityData Namespace Reference

Variables

int next_id = 0
 last used id for a created RF cavity
 
std::map< int, std::vector< amrex::ParticleReal > > h_cos_coef = {}
 host: cosine coefficients in Fourier expansion of on-axis electric field Ez
 
std::map< int, std::vector< amrex::ParticleReal > > h_sin_coef = {}
 host: sine coefficients in Fourier expansion of on-axis electric field Ez
 
std::map< int, amrex::Gpu::DeviceVector< amrex::ParticleReal > > d_cos_coef = {}
 device: cosine coefficients in Fourier expansion of on-axis electric field Ez
 
std::map< int, amrex::Gpu::DeviceVector< amrex::ParticleReal > > d_sin_coef = {}
 device: sine coefficients in Fourier expansion of on-axis electric field Ez
 

Detailed Description

Dynamic data for the RFCavity elements

Since we copy the element to the device, we cannot store this data on the element itself. But we can store pointers to this data with the element and keep a lookup table here, which we clean up in the end.

Variable Documentation

◆ d_cos_coef

std::map<int, amrex::Gpu::DeviceVector<amrex::ParticleReal> > impactx::elements::RFCavityData::d_cos_coef = {}
inline

device: cosine coefficients in Fourier expansion of on-axis electric field Ez

◆ d_sin_coef

std::map<int, amrex::Gpu::DeviceVector<amrex::ParticleReal> > impactx::elements::RFCavityData::d_sin_coef = {}
inline

device: sine coefficients in Fourier expansion of on-axis electric field Ez

◆ h_cos_coef

std::map<int, std::vector<amrex::ParticleReal> > impactx::elements::RFCavityData::h_cos_coef = {}
inline

host: cosine coefficients in Fourier expansion of on-axis electric field Ez

◆ h_sin_coef

std::map<int, std::vector<amrex::ParticleReal> > impactx::elements::RFCavityData::h_sin_coef = {}
inline

host: sine coefficients in Fourier expansion of on-axis electric field Ez

◆ next_id

int impactx::elements::RFCavityData::next_id = 0
inline

last used id for a created RF cavity