|
WarpX
|
#include <PlasmaInjector.H>
Protected Member Functions | |
| void | setupSingleParticle (amrex::ParmParse const &pp_species) |
| void | setupMultipleParticles (amrex::ParmParse const &pp_species) |
| void | setupGaussianBeam (amrex::ParmParse const &pp_species) |
| void | setupNRandomPerCell (amrex::ParmParse const &pp_species) |
| void | setupNFluxPerCell (amrex::ParmParse const &pp_species) |
| void | setupNuniformPerCell (amrex::ParmParse const &pp_species) |
| void | setupExternalFile (amrex::ParmParse const &pp_species) |
| void | parseFlux (amrex::ParmParse const &pp_species) |
The PlasmaInjector class parses and stores information about the plasma type used in the particle container. This information is used to create the particles on initialization and whenever the window moves.
|
default |
Default constructor
| PlasmaInjector::PlasmaInjector | ( | int | ispecies, |
| const std::string & | name, | ||
| const amrex::Geometry & | geom, | ||
| const std::string & | src_name = "" ) |
|
delete |
|
default |
|
default |
|
inlinenodiscard |
|
inlinenodiscardnoexcept |
|
inlinenodiscardnoexcept |
|
nodiscard |
|
nodiscard |
|
nodiscard |
|
nodiscard |
|
nodiscard |
|
nodiscard |
|
nodiscardnoexcept |
|
nodiscardnoexcept |
|
delete |
|
default |
|
nodiscardnoexcept |
|
protected |
| void PlasmaInjector::prepare | ( | amrex::BoxArray const & | grids, |
| amrex::DistributionMapping const & | dmap, | ||
| amrex::IntVect const & | ngrow, | ||
| std::function< amrex::Real(amrex::Real)> const & | get_zlab ) |
| void PlasmaInjector::prepare | ( | amrex::RealBox const & | pbox, |
| int | moving_dir, | ||
| int | moving_sign, | ||
| std::function< amrex::Real(amrex::Real)> const & | get_zlab ) |
| bool PlasmaInjector::queryCharge | ( | amrex::ParticleReal & | a_charge | ) | const |
| bool PlasmaInjector::queryMass | ( | amrex::ParticleReal & | a_mass | ) | const |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
| bool PlasmaInjector::add_multiple_particles = false |
| bool PlasmaInjector::add_single_particle = false |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
| amrex::Real PlasmaInjector::density_max = std::numeric_limits<amrex::Real>::max() |
| amrex::Real PlasmaInjector::density_min = std::numeric_limits<amrex::Real>::epsilon() |
|
protected |
| bool PlasmaInjector::do_focusing = false |
| bool PlasmaInjector::do_rotation = false |
| bool PlasmaInjector::do_rotation_momenta = false |
| int PlasmaInjector::do_symmetrize = 0 |
| bool PlasmaInjector::external_file = false |
|
protected |
| int PlasmaInjector::flux_direction |
| int PlasmaInjector::flux_normal_axis |
|
protected |
| amrex::Real PlasmaInjector::flux_tmax = -1. |
| amrex::Real PlasmaInjector::flux_tmin = -1. |
| amrex::Real PlasmaInjector::focal_distance |
| bool PlasmaInjector::gaussian_beam = false |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
| bool PlasmaInjector::m_inject_from_eb = false |
| std::any PlasmaInjector::m_openpmd_input_series |
additional z offset for particle positions
openPMD::Series to load from in external_file injection
|
protected |
|
protected |
| amrex::Vector<amrex::ParticleReal> PlasmaInjector::multiple_particles_pos_x |
| amrex::Vector<amrex::ParticleReal> PlasmaInjector::multiple_particles_pos_y |
| amrex::Vector<amrex::ParticleReal> PlasmaInjector::multiple_particles_pos_z |
| amrex::Vector<amrex::ParticleReal> PlasmaInjector::multiple_particles_ux |
| amrex::Vector<amrex::ParticleReal> PlasmaInjector::multiple_particles_uy |
| amrex::Vector<amrex::ParticleReal> PlasmaInjector::multiple_particles_uz |
| amrex::Vector<amrex::ParticleReal> PlasmaInjector::multiple_particles_weight |
| amrex::Real PlasmaInjector::N_tot = 0.0 |
| long PlasmaInjector::npart |
| int PlasmaInjector::num_particles_per_cell |
| amrex::Vector<int> PlasmaInjector::num_particles_per_cell_each_dim |
| amrex::Real PlasmaInjector::num_particles_per_cell_real |
|
protected |
| amrex::Real PlasmaInjector::q_tot = 0.0 |
| amrex::Real PlasmaInjector::radial_numpercell_power |
| amrex::Real PlasmaInjector::rotation_angle |
| amrex::Vector<amrex::Real> PlasmaInjector::rotation_axis |
| amrex::Vector<amrex::ParticleReal> PlasmaInjector::single_particle_pos |
| amrex::Vector<amrex::ParticleReal> PlasmaInjector::single_particle_u |
| amrex::ParticleReal PlasmaInjector::single_particle_weight |
|
protected |
|
protected |
|
protected |
| std::string PlasmaInjector::str_flux_function |
| amrex::Real PlasmaInjector::surface_flux_pos |
| int PlasmaInjector::symmetrization_order = 4 |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
| amrex::Real PlasmaInjector::x_cut = std::numeric_limits<amrex::Real>::max() |
| amrex::Real PlasmaInjector::x_m |
| amrex::Real PlasmaInjector::x_rms |
| amrex::Real PlasmaInjector::xmax |
| amrex::Real PlasmaInjector::xmin |
| amrex::Real PlasmaInjector::y_cut = std::numeric_limits<amrex::Real>::max() |
| amrex::Real PlasmaInjector::y_m |
| amrex::Real PlasmaInjector::y_rms |
| amrex::Real PlasmaInjector::ymax |
| amrex::Real PlasmaInjector::ymin |
| amrex::Real PlasmaInjector::z_cut = std::numeric_limits<amrex::Real>::max() |
| amrex::Real PlasmaInjector::z_m |
| amrex::Real PlasmaInjector::z_rms |
| amrex::Real PlasmaInjector::z_shift = 0.0 |
initialize from an openPMD file
| amrex::Real PlasmaInjector::zmax |
| amrex::Real PlasmaInjector::zmin |