WarpX
Loading...
Searching...
No Matches
ParticleCreation Namespace Reference

Functions

template<typename PTile>
void DefaultInitializeRuntimeAttributes (PTile &ptile, const int n_external_attr_real, const int n_external_attr_int, const std::vector< std::string > &user_real_attribs, const std::vector< std::string > &user_int_attribs, const std::vector< std::string > &particle_comps, const std::vector< std::string > &particle_icomps, const std::vector< amrex::Parser * > &user_real_attrib_parser, const std::vector< amrex::Parser * > &user_int_attrib_parser, const bool do_qed_comps, BreitWheelerEngine *p_bw_engine, QuantumSynchrotronEngine *p_qs_engine, const int ionization_initial_level, int start, int stop)
 Default initialize runtime attributes in a tile. This routine does not initialize the first n_external_attr_real real attributes and the first n_external_attr_int integer attributes, which have been in principle externally set elsewhere.
 

Function Documentation

◆ DefaultInitializeRuntimeAttributes()

template<typename PTile>
void ParticleCreation::DefaultInitializeRuntimeAttributes ( PTile & ptile,
const int n_external_attr_real,
const int n_external_attr_int,
const std::vector< std::string > & user_real_attribs,
const std::vector< std::string > & user_int_attribs,
const std::vector< std::string > & particle_comps,
const std::vector< std::string > & particle_icomps,
const std::vector< amrex::Parser * > & user_real_attrib_parser,
const std::vector< amrex::Parser * > & user_int_attrib_parser,
const bool do_qed_comps,
BreitWheelerEngine * p_bw_engine,
QuantumSynchrotronEngine * p_qs_engine,
const int ionization_initial_level,
int start,
int stop )

Default initialize runtime attributes in a tile. This routine does not initialize the first n_external_attr_real real attributes and the first n_external_attr_int integer attributes, which have been in principle externally set elsewhere.

Template Parameters
PTileThe type of the particle tile to operate on (e.g. could use different allocators)
Parameters
[in,out]ptilethe tile in which attributes are initialized
[in]n_external_attr_realThe number of real attributes that have been externally set. These are NOT initialized by this function.
[in]n_external_attr_intThe number of integer attributes that have been externally set. These are NOT initialized by this function.
[in]user_real_attribsThe names of the real components for this particle tile
[in]user_int_attribsThe names of the int components for this particle tile
[in]particle_compsparticle component names for real comps
[in]particle_icompsparticle component names for int comps
[in]user_real_attrib_parserthe parser functions used to initialize the user real components
[in]user_int_attrib_parserthe parser functions used to initialize the user int components
[in]do_qed_compswhether to initialize the qed components (these are usually handled by SmartCopy, but NOT when adding particles in AddNParticles)
[in]p_bw_enginethe engine to use for setting the breit-wheeler component for QED
[in]p_qs_enginethe engine to use for setting the quantum synchrotron component for QED
[in]ionization_initial_levelthe ionization level particles created should start at
[in]startthe index to start initializing particles
[in]stopthe index to stop initializing particles