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

Variables

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

Detailed Description

Dynamic data for the SoftSolenoid 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::SoftSolenoidData::d_cos_coef = {}
inline

device: cosine coefficients in Fourier expansion of on-axis magnetic field Bz

◆ d_sin_coef

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

device: sine coefficients in Fourier expansion of on-axis magnetic field Bz

◆ h_cos_coef

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

host: cosine coefficients in Fourier expansion of on-axis magnetic field Bz

◆ h_sin_coef

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

host: sine coefficients in Fourier expansion of on-axis magnetic field Bz

◆ next_id

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

last used id for a created soft solenoid