diff options
author | 2019-06-05 09:54:30 -0700 | |
---|---|---|
committer | 2019-06-05 09:54:30 -0700 | |
commit | 6faec7af00055eb58000967f2aa6415516533a34 (patch) | |
tree | 0d3efda6b3df78c262e0508aed7d3d9ae413264f /Source | |
parent | f7f240be9511f14fdd69d401aa1613826893244d (diff) | |
parent | 54669d0ba1d0d2928140bb82285633e3ca099c11 (diff) | |
download | WarpX-6faec7af00055eb58000967f2aa6415516533a34.tar.gz WarpX-6faec7af00055eb58000967f2aa6415516533a34.tar.zst WarpX-6faec7af00055eb58000967f2aa6415516533a34.zip |
Merge pull request #174 from ECP-WarpX/selective_boosted_frame_diag_fix
Selective boosted frame diag fix
Diffstat (limited to 'Source')
-rw-r--r-- | Source/Diagnostics/ParticleIO.cpp | 38 | ||||
-rw-r--r-- | Source/Diagnostics/WarpXIO.cpp | 32 | ||||
-rw-r--r-- | Source/Particles/MultiParticleContainer.H | 3 | ||||
-rw-r--r-- | Source/Particles/WarpXParticleContainer.H | 2 |
4 files changed, 38 insertions, 37 deletions
diff --git a/Source/Diagnostics/ParticleIO.cpp b/Source/Diagnostics/ParticleIO.cpp index 0f6246715..f2a543ed5 100644 --- a/Source/Diagnostics/ParticleIO.cpp +++ b/Source/Diagnostics/ParticleIO.cpp @@ -74,15 +74,45 @@ MultiParticleContainer::Checkpoint (const std::string& dir) const } void -MultiParticleContainer::WritePlotFile (const std::string& dir, - const Vector<std::string>& real_names) const +MultiParticleContainer::WritePlotFile (const std::string& dir) const { Vector<std::string> int_names; Vector<int> int_flags; - + for (unsigned i = 0, n = species_names.size(); i < n; ++i) { - auto& pc = allcontainers[i]; + auto& pc = allcontainers[i]; if (pc->plot_species) { + + Vector<std::string> real_names; + real_names.push_back("weight"); + + real_names.push_back("momentum_x"); + real_names.push_back("momentum_y"); + real_names.push_back("momentum_z"); + + real_names.push_back("Ex"); + real_names.push_back("Ey"); + real_names.push_back("Ez"); + + real_names.push_back("Bx"); + real_names.push_back("By"); + real_names.push_back("Bz"); + +#ifdef WARPX_RZ + real_names.push_back("theta"); +#endif + + if (WarpX::do_boosted_frame_diagnostic && pc->DoBoostedFrameDiags()) + { + real_names.push_back("xold"); + real_names.push_back("yold"); + real_names.push_back("zold"); + + real_names.push_back("uxold"); + real_names.push_back("uyold"); + real_names.push_back("uzold"); + } + // Convert momentum to SI pc->ConvertUnits(ConvertDirection::WarpX_to_SI); // real_names contains a list of all particle attributes. diff --git a/Source/Diagnostics/WarpXIO.cpp b/Source/Diagnostics/WarpXIO.cpp index 7e7ed278d..869d3580e 100644 --- a/Source/Diagnostics/WarpXIO.cpp +++ b/Source/Diagnostics/WarpXIO.cpp @@ -614,37 +614,7 @@ WarpX::WritePlotFile () const } } - Vector<std::string> particle_varnames; - particle_varnames.push_back("weight"); - - particle_varnames.push_back("momentum_x"); - particle_varnames.push_back("momentum_y"); - particle_varnames.push_back("momentum_z"); - - particle_varnames.push_back("Ex"); - particle_varnames.push_back("Ey"); - particle_varnames.push_back("Ez"); - - particle_varnames.push_back("Bx"); - particle_varnames.push_back("By"); - particle_varnames.push_back("Bz"); - -#ifdef WARPX_RZ - particle_varnames.push_back("theta"); -#endif - - if (WarpX::do_boosted_frame_diagnostic && WarpX::do_boosted_frame_particles) - { - particle_varnames.push_back("xold"); - particle_varnames.push_back("yold"); - particle_varnames.push_back("zold"); - - particle_varnames.push_back("uxold"); - particle_varnames.push_back("uyold"); - particle_varnames.push_back("uzold"); - } - - mypc->WritePlotFile(plotfilename, particle_varnames); + mypc->WritePlotFile(plotfilename); WriteJobInfo(plotfilename); diff --git a/Source/Particles/MultiParticleContainer.H b/Source/Particles/MultiParticleContainer.H index aaf7ead0e..869126fef 100644 --- a/Source/Particles/MultiParticleContainer.H +++ b/Source/Particles/MultiParticleContainer.H @@ -129,8 +129,7 @@ public: void Checkpoint (const std::string& dir) const; - void WritePlotFile( const std::string& dir, - const amrex::Vector<std::string>& real_names) const; + void WritePlotFile (const std::string& dir) const; void Restart (const std::string& dir); diff --git a/Source/Particles/WarpXParticleContainer.H b/Source/Particles/WarpXParticleContainer.H index b24e14e9f..1e3dfb2ae 100644 --- a/Source/Particles/WarpXParticleContainer.H +++ b/Source/Particles/WarpXParticleContainer.H @@ -255,6 +255,8 @@ public: AddIntComp(comm); } + int DoBoostedFrameDiags () const { return do_boosted_frame_diags; } + protected: std::map<std::string, int> particle_comps; |