diff options
author | 2023-02-21 09:05:16 -0800 | |
---|---|---|
committer | 2023-02-21 09:05:16 -0800 | |
commit | 8f31cea2a47749ca697b64a93837842f990312ed (patch) | |
tree | 155ec4b9d31063b407797203c2fa7202117ecd4c /Source | |
parent | 7eae30870646a2efbdf9164d46c75e540251e5f0 (diff) | |
download | WarpX-8f31cea2a47749ca697b64a93837842f990312ed.tar.gz WarpX-8f31cea2a47749ca697b64a93837842f990312ed.tar.zst WarpX-8f31cea2a47749ca697b64a93837842f990312ed.zip |
Renamed "particle_vel" to "particle_mom" (#3672)
* Renamed particle_vel to particle_mom
* Changed vel to u
* Updated gitignore with vscode-specific folder
* Updated docs for single particle
* Revert "Updated gitignore with vscode-specific folder"
This reverts commit cb44ef8d66c123daa93d6a13d5a1d88416e866bb.
* Fixed typo
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* Fixed other typo
* Add species indication in warning
---------
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Diffstat (limited to 'Source')
-rw-r--r-- | Source/Initialization/PlasmaInjector.H | 8 | ||||
-rw-r--r-- | Source/Initialization/PlasmaInjector.cpp | 22 | ||||
-rw-r--r-- | Source/Particles/PhysicalParticleContainer.cpp | 24 | ||||
-rw-r--r-- | Source/WarpX.cpp | 28 |
4 files changed, 55 insertions, 27 deletions
diff --git a/Source/Initialization/PlasmaInjector.H b/Source/Initialization/PlasmaInjector.H index b49e6d88c..6ad4ec198 100644 --- a/Source/Initialization/PlasmaInjector.H +++ b/Source/Initialization/PlasmaInjector.H @@ -72,16 +72,16 @@ public: bool add_single_particle = false; amrex::Vector<amrex::ParticleReal> single_particle_pos; - amrex::Vector<amrex::ParticleReal> single_particle_vel; + amrex::Vector<amrex::ParticleReal> single_particle_u; amrex::ParticleReal single_particle_weight; bool add_multiple_particles = false; amrex::Vector<amrex::ParticleReal> multiple_particles_pos_x; amrex::Vector<amrex::ParticleReal> multiple_particles_pos_y; amrex::Vector<amrex::ParticleReal> multiple_particles_pos_z; - amrex::Vector<amrex::ParticleReal> multiple_particles_vel_x; - amrex::Vector<amrex::ParticleReal> multiple_particles_vel_y; - amrex::Vector<amrex::ParticleReal> multiple_particles_vel_z; + amrex::Vector<amrex::ParticleReal> multiple_particles_ux; + amrex::Vector<amrex::ParticleReal> multiple_particles_uy; + amrex::Vector<amrex::ParticleReal> multiple_particles_uz; amrex::Vector<amrex::ParticleReal> multiple_particles_weight; bool gaussian_beam = false; diff --git a/Source/Initialization/PlasmaInjector.cpp b/Source/Initialization/PlasmaInjector.cpp index b6f9ae9ad..c828e663e 100644 --- a/Source/Initialization/PlasmaInjector.cpp +++ b/Source/Initialization/PlasmaInjector.cpp @@ -185,8 +185,8 @@ PlasmaInjector::PlasmaInjector (int ispecies, const std::string& name) utils::parser::getArrWithParser( pp_species_name, "single_particle_pos", single_particle_pos, 0, 3); utils::parser::getArrWithParser( - pp_species_name, "single_particle_vel", single_particle_vel, 0, 3); - for (auto& x : single_particle_vel) { + pp_species_name, "single_particle_u", single_particle_u, 0, 3); + for (auto& x : single_particle_u) { x *= PhysConst::c; } utils::parser::getWithParser( @@ -201,24 +201,24 @@ PlasmaInjector::PlasmaInjector (int ispecies, const std::string& name) utils::parser::getArrWithParser( pp_species_name, "multiple_particles_pos_z", multiple_particles_pos_z); utils::parser::getArrWithParser( - pp_species_name, "multiple_particles_vel_x", multiple_particles_vel_x); + pp_species_name, "multiple_particles_ux", multiple_particles_ux); utils::parser::getArrWithParser( - pp_species_name, "multiple_particles_vel_y", multiple_particles_vel_y); + pp_species_name, "multiple_particles_uy", multiple_particles_uy); utils::parser::getArrWithParser( - pp_species_name, "multiple_particles_vel_z", multiple_particles_vel_z); + pp_species_name, "multiple_particles_uz", multiple_particles_uz); utils::parser::getArrWithParser( pp_species_name, "multiple_particles_weight", multiple_particles_weight); WARPX_ALWAYS_ASSERT_WITH_MESSAGE( ((multiple_particles_pos_x.size() == multiple_particles_pos_y.size()) && (multiple_particles_pos_x.size() == multiple_particles_pos_z.size()) && - (multiple_particles_pos_x.size() == multiple_particles_vel_x.size()) && - (multiple_particles_pos_x.size() == multiple_particles_vel_y.size()) && - (multiple_particles_pos_x.size() == multiple_particles_vel_z.size()) && + (multiple_particles_pos_x.size() == multiple_particles_ux.size()) && + (multiple_particles_pos_x.size() == multiple_particles_uy.size()) && + (multiple_particles_pos_x.size() == multiple_particles_uz.size()) && (multiple_particles_pos_x.size() == multiple_particles_weight.size())), "Error: The multiple particles source quantities must all have the same number of elements"); - for (auto& vx : multiple_particles_vel_x) { vx *= PhysConst::c; } - for (auto& vy : multiple_particles_vel_y) { vy *= PhysConst::c; } - for (auto& vz : multiple_particles_vel_z) { vz *= PhysConst::c; } + for (auto& vx : multiple_particles_ux) { vx *= PhysConst::c; } + for (auto& vy : multiple_particles_uy) { vy *= PhysConst::c; } + for (auto& vz : multiple_particles_uz) { vz *= PhysConst::c; } add_multiple_particles = true; return; } else if (injection_style == "gaussian_beam") { diff --git a/Source/Particles/PhysicalParticleContainer.cpp b/Source/Particles/PhysicalParticleContainer.cpp index 1390fdda6..3e4c60737 100644 --- a/Source/Particles/PhysicalParticleContainer.cpp +++ b/Source/Particles/PhysicalParticleContainer.cpp @@ -783,17 +783,17 @@ PhysicalParticleContainer::AddParticles (int lev) MapParticletoBoostedFrame(plasma_injector->single_particle_pos[0], plasma_injector->single_particle_pos[1], plasma_injector->single_particle_pos[2], - plasma_injector->single_particle_vel[0], - plasma_injector->single_particle_vel[1], - plasma_injector->single_particle_vel[2]); + plasma_injector->single_particle_u[0], + plasma_injector->single_particle_u[1], + plasma_injector->single_particle_u[2]); } AddNParticles(lev, 1, &(plasma_injector->single_particle_pos[0]), &(plasma_injector->single_particle_pos[1]), &(plasma_injector->single_particle_pos[2]), - &(plasma_injector->single_particle_vel[0]), - &(plasma_injector->single_particle_vel[1]), - &(plasma_injector->single_particle_vel[2]), + &(plasma_injector->single_particle_u[0]), + &(plasma_injector->single_particle_u[1]), + &(plasma_injector->single_particle_u[2]), 1, &(plasma_injector->single_particle_weight), 0, nullptr, 0); return; } @@ -804,18 +804,18 @@ PhysicalParticleContainer::AddParticles (int lev) MapParticletoBoostedFrame(plasma_injector->multiple_particles_pos_x[i], plasma_injector->multiple_particles_pos_y[i], plasma_injector->multiple_particles_pos_z[i], - plasma_injector->multiple_particles_vel_x[i], - plasma_injector->multiple_particles_vel_y[i], - plasma_injector->multiple_particles_vel_z[i]); + plasma_injector->multiple_particles_ux[i], + plasma_injector->multiple_particles_uy[i], + plasma_injector->multiple_particles_uz[i]); } } AddNParticles(lev, plasma_injector->multiple_particles_pos_x.size(), plasma_injector->multiple_particles_pos_x.dataPtr(), plasma_injector->multiple_particles_pos_y.dataPtr(), plasma_injector->multiple_particles_pos_z.dataPtr(), - plasma_injector->multiple_particles_vel_x.dataPtr(), - plasma_injector->multiple_particles_vel_y.dataPtr(), - plasma_injector->multiple_particles_vel_z.dataPtr(), + plasma_injector->multiple_particles_ux.dataPtr(), + plasma_injector->multiple_particles_uy.dataPtr(), + plasma_injector->multiple_particles_uz.dataPtr(), 1, plasma_injector->multiple_particles_weight.dataPtr(), 0, nullptr, 0); return; } diff --git a/Source/WarpX.cpp b/Source/WarpX.cpp index 21945d6fa..48037eaa1 100644 --- a/Source/WarpX.cpp +++ b/Source/WarpX.cpp @@ -1650,6 +1650,34 @@ WarpX::BackwardCompatibility () ablastr::warn_manager::WarnPriority::low); } + std::vector<std::string> backward_sp_names; + pp_particles.queryarr("species_names", backward_sp_names); + for(std::string speciesiter : backward_sp_names){ + ParmParse pp_species(speciesiter); + std::vector<amrex::Real> backward_vel; + std::stringstream ssspecies; + + ssspecies << "'" << speciesiter << ".multiple_particles_vel_<x,y,z>'"; + ssspecies << " are not supported anymore. "; + ssspecies << "Please use the renamed variables "; + ssspecies << "'" << speciesiter << ".multiple_particles_u<x,y,z>' ."; + WARPX_ALWAYS_ASSERT_WITH_MESSAGE( + !pp_species.queryarr("multiple_particles_vel_x", backward_vel) && + !pp_species.queryarr("multiple_particles_vel_y", backward_vel) && + !pp_species.queryarr("multiple_particles_vel_z", backward_vel), + ssspecies.str()); + + ssspecies.str(""); + ssspecies.clear(); + ssspecies << "'" << speciesiter << ".single_particle_vel'"; + ssspecies << " is not supported anymore. "; + ssspecies << "Please use the renamed variable "; + ssspecies << "'" << speciesiter << ".single_particle_u' ."; + WARPX_ALWAYS_ASSERT_WITH_MESSAGE( + !pp_species.queryarr("single_particle_vel", backward_vel), + ssspecies.str()); + } + ParmParse pp_collisions("collisions"); int ncollisions; if (pp_collisions.query("ncollisions", ncollisions)){ |