ImpactX
|
Namespaces | |
detail | |
diagnostics | |
distribution | |
elements | |
initialization | |
integrators | |
madx_to_impactx | |
MADXParser | |
RFCavityData | |
SoftQuadrupoleData | |
SoftSolenoidData | |
spacecharge | |
transformation | |
Classes | |
class | ImpactX |
struct | Buncher |
struct | CFbend |
struct | ChrDrift |
struct | ChrQuad |
struct | ChrAcc |
struct | ConstF |
struct | DipEdge |
struct | Drift |
struct | ExactDrift |
struct | ExactSbend |
struct | Kicker |
struct | Multipole |
struct | None |
struct | NonlinearLens |
struct | Programmable |
struct | PRot |
struct | Quad |
struct | RF_field_data |
struct | RFCavity |
struct | Sbend |
struct | ShortRF |
struct | Quad_field_data |
struct | SoftQuadrupole |
struct | Sol_field_data |
struct | SoftSolenoid |
struct | Sol |
struct | RealAoS |
struct | RealSoA |
struct | IntSoA |
class | ParIter |
class | ParConstIter |
class | ImpactXParticleContainer |
struct | RefPart |
struct | Config |
Typedefs | |
using | KnownElements = std::variant< None, Buncher, CFbend, ChrAcc, ChrDrift, ChrQuad, ConstF, diagnostics::BeamMonitor, DipEdge, Drift, ExactDrift, ExactSbend, Kicker, Multipole, NonlinearLens, Programmable, PRot, Quad, RFCavity, Sbend, ShortRF, SoftSolenoid, SoftQuadrupole, Sol > |
Functions | |
void | read_element (std::string element_name, std::list< KnownElements > &m_lattice, int nslice_default, int mapsteps_default) |
bool | do_omp_dynamic () |
void | Push (ImpactXParticleContainer &pc, KnownElements &element_variant, int step) |
template<typename T_Element > | |
void | push_all (ImpactXParticleContainer &pc, T_Element &element, [[maybe_unused]] int step, [[maybe_unused]] bool omp_parallel=true) |
Variables | |
pwd = __file__.rsplit(os.sep, 1)[0] + os.sep | |
paths = os.environ.get("PATH", "") | |
__version__ = cxx.__version__ | |
__doc__ = cxx.__doc__ | |
__license__ = cxx.__license__ | |
__author__ = cxx.__author__ | |
load_file | |
self | |
madx_file | |
nslice | |
using impactx::KnownElements = typedef std::variant< None, Buncher, CFbend, ChrAcc, ChrDrift, ChrQuad, ConstF, diagnostics::BeamMonitor, DipEdge, Drift, ExactDrift, ExactSbend, Kicker, Multipole, NonlinearLens, Programmable, PRot, Quad, RFCavity, Sbend, ShortRF, SoftSolenoid, SoftQuadrupole, Sol > |
bool impactx::do_omp_dynamic | ( | ) |
void impactx::Push | ( | ImpactXParticleContainer & | pc, |
KnownElements & | element_variant, | ||
int | step | ||
) |
Push particles
[in,out] | pc | container of the particles to push |
[in,out] | element_variant | a single element to push the particles through |
[in] | step | global step for diagnostics |
void impactx::push_all | ( | ImpactXParticleContainer & | pc, |
T_Element & | element, | ||
[[maybe_unused] ] int | step, | ||
[[maybe_unused] ] bool | omp_parallel = true |
||
) |
Push all particles in a particle container.
This element pushes first the reference particle, then all other particles. All particles are pushed independently with the same logic. Particles are relative to the reference particle.
[in,out] | pc | particle container to push |
[in,out] | element | the beamline element |
[in] | step | global step for diagnostics |
[in] | omp_parallel | allow threading via OpenMP for the particle iterator loop (note: if OMP backend is active) |
void impactx::read_element | ( | std::string | element_name, |
std::list< KnownElements > & | m_lattice, | ||
int | nslice_default, | ||
int | mapsteps_default | ||
) |
Read a lattice element
Read a lattice element from amrex::ParmParse, initialize it and append it to m_lattice.
[in] | element_name | element name |
[in,out] | m_lattice | the accelerator lattice |
[in] | nslice_default | |
[in] | mapsteps_default |
|
private |
|
private |
|
private |
|
private |
impactx.load_file |
impactx.madx_file |
impactx.nslice |
impactx.paths = os.environ.get("PATH", "") |
impactx.pwd = __file__.rsplit(os.sep, 1)[0] + os.sep |
impactx.self |