ImpactX
|
Namespaces | |
details | |
Classes | |
class | AmrCoreData |
struct | InitSingleParticleData |
Functions | |
AmrCoreData | init_amr_core () |
AmrCoreData | amrex_amrcore_gridding () |
AmrCoreData | one_box_per_rank () |
constexpr amrex::RealVect | undefined_geometry_prob_lo (-1.0) |
the fake domain size (lower end), used to indicate that the user made no choice for it More... | |
constexpr amrex::RealVect | undefined_geometry_prob_hi (1.0) |
the fake domain size (higher end), used to indicate that the user made no choice for it More... | |
void | default_init_AMReX (int argc, char *argv[]) |
void | default_init_AMReX () |
void | set_distribution_parameters_from_phase_space_inputs (amrex::ParmParse const &pp_dist, amrex::ParticleReal &sigx, amrex::ParticleReal &sigy, amrex::ParticleReal &sigt, amrex::ParticleReal &sigpx, amrex::ParticleReal &sigpy, amrex::ParticleReal &sigpt, amrex::ParticleReal &muxpx, amrex::ParticleReal &muypy, amrex::ParticleReal &mutpt) |
void | set_distribution_parameters_from_twiss_inputs (amrex::ParmParse const &pp_dist, amrex::ParticleReal &sigx, amrex::ParticleReal &sigy, amrex::ParticleReal &sigt, amrex::ParticleReal &sigpx, amrex::ParticleReal &sigpy, amrex::ParticleReal &sigpt, amrex::ParticleReal &muxpx, amrex::ParticleReal &muypy, amrex::ParticleReal &mutpt) |
amrex::Vector< amrex::Real > | read_mr_prob_relative () |
void | overwrite_amrex_parser_defaults () |
AmrCoreData impactx::initialization::amrex_amrcore_gridding | ( | ) |
This lets AMReX AmrCore/AmrMesh build the boxes for each MPI-rank
This uses the regular logic in AmrCore/AmrMesh to grid boxes and refinement levels.
void impactx::initialization::default_init_AMReX | ( | ) |
Initialize AMReX
Initializes AMReX if not already done.
void impactx::initialization::default_init_AMReX | ( | int | argc, |
char * | argv[] | ||
) |
Initialize AMReX
Initializes AMReX if not already done.
AmrCoreData impactx::initialization::init_amr_core | ( | ) |
This creates AMReX boxes for each MPI-rank
AmrCoreData impactx::initialization::one_box_per_rank | ( | ) |
This builds one AMReX box per MPI-rank
This is a simple decomposition for particles that we default to if we do not need space charge or load balancing.
void impactx::initialization::overwrite_amrex_parser_defaults | ( | ) |
Overwrite defaults in AMReX Inputs
This overwrites defaults in amrex::ParamParse for inputs.
amrex::Vector<amrex::Real> impactx::initialization::read_mr_prob_relative | ( | ) |
void impactx::initialization::set_distribution_parameters_from_phase_space_inputs | ( | amrex::ParmParse const & | pp_dist, |
amrex::ParticleReal & | sigx, | ||
amrex::ParticleReal & | sigy, | ||
amrex::ParticleReal & | sigt, | ||
amrex::ParticleReal & | sigpx, | ||
amrex::ParticleReal & | sigpy, | ||
amrex::ParticleReal & | sigpt, | ||
amrex::ParticleReal & | muxpx, | ||
amrex::ParticleReal & | muypy, | ||
amrex::ParticleReal & | mutpt | ||
) |
Initialize the input parameters for all distributions that read phase space ellipse parameters from the input
This function sets the distribution parameters based on the provided phase space inputs. The parameters include the phase space ellipse intersections for position (sigmaX
, sigmaY
), time (sigmaT
), momentum (sigmaPx
, sigmaPy
) and energy (sigmaPt
), as well as the correlation terms (muxpx
, muypy
, mutpt
).
pp_dist | The parameter parser object. |
sigx | Reference to the variable storing the axis intersection of the phase space ellipse for x position. |
sigy | Reference to the variable storing the axis intersection of the phase space ellipse for y position. |
sigt | Reference to the variable storing the axis intersection of the phase space ellipse for time. |
sigpx | Reference to the variable storing the axis intersection of the phase space ellipse for momentum in x direction. |
sigpy | Reference to the variable storing the axis intersection of the phase space ellipse for momentum in y direction. |
sigpt | Reference to the variable storing the axis intersection of the phase space ellipse for energy. |
muxpx | Reference to the variable storing the mean for momentum in x direction. |
muypy | Reference to the variable storing the mean for momentum in y direction. |
mutpt | Reference to the variable storing the mean for energy. |
void impactx::initialization::set_distribution_parameters_from_twiss_inputs | ( | amrex::ParmParse const & | pp_dist, |
amrex::ParticleReal & | sigx, | ||
amrex::ParticleReal & | sigy, | ||
amrex::ParticleReal & | sigt, | ||
amrex::ParticleReal & | sigpx, | ||
amrex::ParticleReal & | sigpy, | ||
amrex::ParticleReal & | sigpt, | ||
amrex::ParticleReal & | muxpx, | ||
amrex::ParticleReal & | muypy, | ||
amrex::ParticleReal & | mutpt | ||
) |
Set the distribution parameters from Twiss inputs
This function reads Courant-Snyder / Twiss parameters from the provided ParmParse
object and calculates the distribution parameters for a particle beam. It sets the values for the axis intercepts of the phase space ellipse (sigmaX
, sigmaY
, sigmaT
, and sigmaPx
, sigmaPy
, sigmaPt
) and correlation terms (muxpx
, muypy
, mutpt
) normally accepted as input.
pp_dist | The parameter parser object. |
sigx | Reference to the variable storing the axis intersection of the phase space ellipse for x position. |
sigy | Reference to the variable storing the axis intersection of the phase space ellipse for y position. |
sigt | Reference to the variable storing the axis intersection of the phase space ellipse for time. |
sigpx | Reference to the variable storing the axis intersection of the phase space ellipse for momentum in x direction. |
sigpy | Reference to the variable storing the axis intersection of the phase space ellipse for momentum in y direction. |
sigpt | Reference to the variable storing the axis intersection of the phase space ellipse for energy. |
muxpx | Reference to the variable storing the mean for momentum in x direction. |
muypy | Reference to the variable storing the mean for momentum in y direction. |
mutpt | Reference to the variable storing the mean for energy. |
|
constexpr |
the fake domain size (higher end), used to indicate that the user made no choice for it
|
constexpr |
the fake domain size (lower end), used to indicate that the user made no choice for it