diff options
author | 2021-10-01 08:42:39 -0700 | |
---|---|---|
committer | 2021-10-01 08:42:39 -0700 | |
commit | b6144ad478f0791ea5df36b19b941ca84bfaa47d (patch) | |
tree | dc593bf2bfd6e7c15fc867bddf388c51269164af /Source/Diagnostics/ParticleIO.cpp | |
parent | 217f301f9ce107cd945331b1abd87ced700e609c (diff) | |
download | WarpX-b6144ad478f0791ea5df36b19b941ca84bfaa47d.tar.gz WarpX-b6144ad478f0791ea5df36b19b941ca84bfaa47d.tar.zst WarpX-b6144ad478f0791ea5df36b19b941ca84bfaa47d.zip |
Fix restart for rigid injected particles (#2363)
* Activate rigid injected species in restart tests
* Fix reading of injection position and velocity
* Update checksum
* Update Examples/Tests/restart/analysis_restart.py
Diffstat (limited to 'Source/Diagnostics/ParticleIO.cpp')
-rw-r--r-- | Source/Diagnostics/ParticleIO.cpp | 16 |
1 files changed, 11 insertions, 5 deletions
diff --git a/Source/Diagnostics/ParticleIO.cpp b/Source/Diagnostics/ParticleIO.cpp index a226bb590..a7b389d78 100644 --- a/Source/Diagnostics/ParticleIO.cpp +++ b/Source/Diagnostics/ParticleIO.cpp @@ -41,9 +41,10 @@ using namespace amrex; void RigidInjectedParticleContainer::ReadHeader (std::istream& is) { - is >> charge >> mass; - WarpX::GotoNextLine(is); + // Call parent class + WarpXParticleContainer::ReadHeader( is ); + // Read quantities that are specific to rigid-injected species int nlevs; is >> nlevs; WarpX::GotoNextLine(is); @@ -52,24 +53,29 @@ RigidInjectedParticleContainer::ReadHeader (std::istream& is) for (int i = 0; i < nlevs; ++i) { - int zinject_plane_tmp; + amrex::Real zinject_plane_tmp; is >> zinject_plane_tmp; zinject_plane_levels.push_back(zinject_plane_tmp); WarpX::GotoNextLine(is); } + is >> vzbeam_ave_boosted; + WarpX::GotoNextLine(is); } void RigidInjectedParticleContainer::WriteHeader (std::ostream& os) const { - // no need to write species_id - os << charge << " " << mass << "\n"; + // Call parent class + WarpXParticleContainer::WriteHeader( os ); + + // Write quantities that are specific to the rigid-injected species int nlevs = zinject_plane_levels.size(); os << nlevs << "\n"; for (int i = 0; i < nlevs; ++i) { os << zinject_plane_levels[i] << "\n"; } + os << vzbeam_ave_boosted << "\n"; } void |