#include <Programmable.H>
|
static constexpr auto | name = "Programmable" |
|
◆ PType
◆ Programmable()
impactx::Programmable::Programmable |
( |
amrex::ParticleReal |
ds = 0.0 , |
|
|
int |
nslice = 1 |
|
) |
| |
|
inline |
This element can be programmed
◆ ds()
Return the segment length
- Returns
- value in meters
◆ finalize()
void impactx::Programmable::finalize |
( |
| ) |
|
Close and deallocate all data and handles.
◆ nslice()
Number of slices used for the application of space charge
- Returns
- positive integer
◆ operator()() [1/3]
Push all particles relative to the reference particle
- Parameters
-
[in,out] | pc | particle container to push |
[in] | step | global step for diagnostics |
◆ operator()() [2/3]
Push all particles relative to the reference particle
◆ operator()() [3/3]
void impactx::Programmable::operator() |
( |
RefPart & |
refpart | ) |
const |
This pushes the reference particle.
- Parameters
-
[in,out] | refpart | reference particle |
◆ m_beam_particles
hook for push of whole container
◆ m_ds
amrex::ParticleReal impactx::Programmable::m_ds = 0.0 |
◆ m_finalize
std::function<void()> impactx::Programmable::m_finalize |
hook for reference particle
◆ m_nslice
int impactx::Programmable::m_nslice = 1 |
◆ m_push
◆ m_ref_particle
std::function<void(RefPart &)> impactx::Programmable::m_ref_particle |
◆ m_threadsafe
bool impactx::Programmable::m_threadsafe = false |
number of slices used for the application of space charge
Allow threading via OpenMP for the particle iterator loop
This will only affect threading if the OMP backend is active.
The default value is false to do the safe thing by default. Users must opt-in their guarantee that their code is thread-safe.
◆ name
constexpr auto impactx::Programmable::name = "Programmable" |
|
staticconstexpr |
The documentation for this struct was generated from the following files:
- /home/docs/checkouts/readthedocs.org/user_builds/impactx/checkouts/24.04/src/particles/elements/Programmable.H
- /home/docs/checkouts/readthedocs.org/user_builds/impactx/checkouts/24.04/src/particles/elements/Programmable.cpp