aboutsummaryrefslogtreecommitdiff
path: root/Source/Initialization/PlasmaInjector.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'Source/Initialization/PlasmaInjector.cpp')
-rw-r--r--Source/Initialization/PlasmaInjector.cpp15
1 files changed, 10 insertions, 5 deletions
diff --git a/Source/Initialization/PlasmaInjector.cpp b/Source/Initialization/PlasmaInjector.cpp
index dfe959bb2..aa02c94f5 100644
--- a/Source/Initialization/PlasmaInjector.cpp
+++ b/Source/Initialization/PlasmaInjector.cpp
@@ -205,7 +205,7 @@ PlasmaInjector::PlasmaInjector (int ispecies, const std::string& name)
// so that inj_pos->getPositionUnitBox calls
// InjectorPosition[Random or Regular].getPositionUnitBox.
else if (injection_style == "nrandompercell") {
- pp_species_name.query("num_particles_per_cell", num_particles_per_cell);
+ queryWithParser(pp_species_name, "num_particles_per_cell", num_particles_per_cell);
#if WARPX_DIM_RZ
AMREX_ALWAYS_ASSERT_WITH_MESSAGE(
num_particles_per_cell>=2*WarpX::n_rz_azimuthal_modes,
@@ -229,7 +229,7 @@ PlasmaInjector::PlasmaInjector (int ispecies, const std::string& name)
"of particles should be at least two times n_rz_azimuthal_modes "
"(Please visit PR#765 for more information.)");
#endif
- pp_species_name.get("surface_flux_pos", surface_flux_pos);
+ getWithParser(pp_species_name, "surface_flux_pos", surface_flux_pos);
std::string flux_normal_axis_string;
pp_species_name.get("flux_normal_axis", flux_normal_axis_string);
flux_normal_axis = -1;
@@ -274,10 +274,15 @@ PlasmaInjector::PlasmaInjector (int ispecies, const std::string& name)
} else if (injection_style == "nuniformpercell") {
// Note that for RZ, three numbers are expected, r, theta, and z.
// For 2D, only two are expected. The third is overwritten with 1.
- num_particles_per_cell_each_dim.assign(3, 1);
- pp_species_name.getarr("num_particles_per_cell_each_dim", num_particles_per_cell_each_dim);
#if WARPX_DIM_XZ
- num_particles_per_cell_each_dim[2] = 1;
+ constexpr int num_required_ppc_each_dim = 2;
+#else
+ constexpr int num_required_ppc_each_dim = 3;
+#endif
+ getArrWithParser(pp_species_name, "num_particles_per_cell_each_dim",
+ num_particles_per_cell_each_dim, 0, num_required_ppc_each_dim);
+#if WARPX_DIM_XZ
+ num_particles_per_cell_each_dim.push_back(1);
#endif
#if WARPX_DIM_RZ
AMREX_ALWAYS_ASSERT_WITH_MESSAGE(