|
ImpactX
|
Namespaces | |
| namespace | details |
Classes | |
| class | AmrCoreData |
| struct | InitSingleParticleData |
| struct | InitSingleParticleSpin |
| 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.
| Envelope impactx::initialization::create_envelope | ( | distribution::KnownDistributions const & | distr, |
| std::optional< amrex::ParticleReal > | intensity = std::nullopt ) |
Ignore the shape of a distribution and use the 2nd moments to create a covariance matrix
| distr | the distribution to draw from |
| intensity | the beam charge (in C, 3D space charge) or current (in A, 2D space charge) |
| 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.
| distribution::KnownDistributions impactx::initialization::read_distribution | ( | amrex::ParmParse const & | pp_dist | ) |
Read a distribution configuration from inputs
| pp_dist | the distribution group in the ParmParser |
| amrex::Vector< amrex::Real > impactx::initialization::read_mr_prob_relative | ( | ) |
| RefPart impactx::initialization::read_reference_particle | ( | amrex::ParmParse const & | pp_dist | ) |
Read the reference particle configuration from inputs
| pp_dist | the distribution group in the ParmParser |
| void impactx::initialization::set_distribution_parameters_from_phase_space_inputs | ( | amrex::ParmParse const & | pp_dist, |
| amrex::ParticleReal & | lambdax, | ||
| amrex::ParticleReal & | lambday, | ||
| amrex::ParticleReal & | lambdat, | ||
| amrex::ParticleReal & | lambdapx, | ||
| amrex::ParticleReal & | lambdapy, | ||
| amrex::ParticleReal & | lambdapt, | ||
| amrex::ParticleReal & | muxpx, | ||
| amrex::ParticleReal & | muypy, | ||
| amrex::ParticleReal & | mutpt, | ||
| amrex::ParticleReal & | meanx, | ||
| amrex::ParticleReal & | meany, | ||
| amrex::ParticleReal & | meant, | ||
| amrex::ParticleReal & | meanpx, | ||
| amrex::ParticleReal & | meanpy, | ||
| amrex::ParticleReal & | meanpt, | ||
| amrex::ParticleReal & | dispx, | ||
| amrex::ParticleReal & | disppx, | ||
| amrex::ParticleReal & | dispy, | ||
| amrex::ParticleReal & | disppy ) |
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 (lambdaX, lambdaY), time (lambdaT), momentum (lambdaPx, lambdaPy) and energy (lambdaPt), as well as the correlation terms (muxpx, muypy, mutpt).
| pp_dist | The parameter parser object. |
| lambdax | Reference to the variable storing the axis intersection of the phase space ellipse for x position. |
| lambday | Reference to the variable storing the axis intersection of the phase space ellipse for y position. |
| lambdat | Reference to the variable storing the axis intersection of the phase space ellipse for time. |
| lambdapx | Reference to the variable storing the axis intersection of the phase space ellipse for momentum in x direction. |
| lambdapy | Reference to the variable storing the axis intersection of the phase space ellipse for momentum in y direction. |
| lambdapt | Reference to the variable storing the axis intersection of the phase space ellipse for energy. |
| muxpx | Reference to the variable storing the correlation coefficient between the x position and the x momentum. |
| muypy | Reference to the variable storing the correlation coefficient between the y position and the y momentum. |
| mutpt | Reference to the variable storing the correlation coefficient between the t position and the t momentum. |
| meanx | Reference to the variable storing the mean for position in the x direction. |
| meany | Reference to the variable storing the mean for position in the y direction. |
| meant | Reference to the variable storing the mean for position in the t direction. |
| meanpx | Reference to the variable storing the mean for momentum in the x direction. |
| meanpy | Reference to the variable storing the mean for momentum in the y direction. |
| meanpt | Reference to the variable storing the mean for momentum in the t direction. |
| dispx | Reference to the variable storing the beam-based dispersion in the x direction. |
| disppx | Reference to the variable storing the derivative of the beam-based dispersion in the x direction. |
| dispy | Reference to the variable storing the beam-based dispersion in the y direction. |
| disppy | Reference to the variable storing the derivative of the beam-based dispersion in the y direction. |
| void impactx::initialization::set_distribution_parameters_from_twiss_inputs | ( | amrex::ParmParse const & | pp_dist, |
| amrex::ParticleReal & | lambdax, | ||
| amrex::ParticleReal & | lambday, | ||
| amrex::ParticleReal & | lambdat, | ||
| amrex::ParticleReal & | lambdapx, | ||
| amrex::ParticleReal & | lambdapy, | ||
| amrex::ParticleReal & | lambdapt, | ||
| amrex::ParticleReal & | muxpx, | ||
| amrex::ParticleReal & | muypy, | ||
| amrex::ParticleReal & | mutpt, | ||
| amrex::ParticleReal & | meanx, | ||
| amrex::ParticleReal & | meany, | ||
| amrex::ParticleReal & | meant, | ||
| amrex::ParticleReal & | meanpx, | ||
| amrex::ParticleReal & | meanpy, | ||
| amrex::ParticleReal & | meanpt, | ||
| amrex::ParticleReal & | dispx, | ||
| amrex::ParticleReal & | disppx, | ||
| amrex::ParticleReal & | dispy, | ||
| amrex::ParticleReal & | disppy ) |
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 (lambdaX, lambdaY, lambdaT, and lambdaPx, lambdaPy, lambdaPt) and correlation terms (muxpx, muypy, mutpt) normally accepted as input.
| pp_dist | The parameter parser object. |
| lambdax | Reference to the variable storing the axis intersection of the phase space ellipse for x position. |
| lambday | Reference to the variable storing the axis intersection of the phase space ellipse for y position. |
| lambdat | Reference to the variable storing the axis intersection of the phase space ellipse for time. |
| lambdapx | Reference to the variable storing the axis intersection of the phase space ellipse for momentum in x direction. |
| lambdapy | Reference to the variable storing the axis intersection of the phase space ellipse for momentum in y direction. |
| lambdapt | Reference to the variable storing the axis intersection of the phase space ellipse for energy. |
| muxpx | Reference to the variable storing the correlation coefficient between the x position and the x momentum. |
| muypy | Reference to the variable storing the correlation coefficient between the y position and the y momentum. |
| mutpt | Reference to the variable storing the correlation coefficient between the t position and the t momentum. |
| meanx | Reference to the variable storing the mean for position in the x direction. |
| meany | Reference to the variable storing the mean for position in the y direction. |
| meant | Reference to the variable storing the mean for position in the t direction. |
| meanpx | Reference to the variable storing the mean for momentum in the x direction. |
| meanpy | Reference to the variable storing the mean for momentum in the y direction. |
| meanpt | Reference to the variable storing the mean for momentum in the t direction. |
| dispx | Reference to the variable storing the beam-based dispersion in the x direction. |
| disppx | Reference to the variable storing the derivative of the beam-based dispersion in the x direction. |
| dispy | Reference to the variable storing the beam-based dispersion in the y direction. |
| disppy | Reference to the variable storing the derivative of the beam-based dispersion in the y direction. |
|
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