aboutsummaryrefslogtreecommitdiff
path: root/Source
diff options
context:
space:
mode:
Diffstat (limited to 'Source')
-rw-r--r--Source/Diagnostics/ParticleIO.cpp38
-rw-r--r--Source/Diagnostics/WarpXIO.cpp32
-rw-r--r--Source/Particles/MultiParticleContainer.H5
-rw-r--r--Source/Particles/WarpXParticleContainer.H2
4 files changed, 39 insertions, 38 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 d8b5e57ca..d720b5583 100644
--- a/Source/Particles/MultiParticleContainer.H
+++ b/Source/Particles/MultiParticleContainer.H
@@ -135,9 +135,8 @@ 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);
void PostRestart ();
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;