aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Regression/WarpX-tests.ini2
-rw-r--r--Source/Diagnostics/Diagnostics.H2
-rw-r--r--Source/Diagnostics/Diagnostics.cpp6
3 files changed, 9 insertions, 1 deletions
diff --git a/Regression/WarpX-tests.ini b/Regression/WarpX-tests.ini
index 553dbaeb4..60e5c5792 100644
--- a/Regression/WarpX-tests.ini
+++ b/Regression/WarpX-tests.ini
@@ -514,7 +514,7 @@ tolerance = 1.e-14
[Langmuir_multi_rz]
buildDir = .
inputFile = Examples/Tests/Langmuir/inputs_2d_multi_rz_rt
-runtime_params = diag1.electrons.variables=w ux uy uz Ex Ey Ez Bx By diag1.ions.variables=w ux uy uz Ex Ey Ez Bx By
+runtime_params = diag1.electrons.variables=w ux uy uz Ex Ey Ez Bx By diag1.ions.variables=w ux uy uz Ex Ey Ez Bx By diag1.dump_rz_modes=0
dim = 2
addToCompileString = USE_RZ=TRUE
restartTest = 0
diff --git a/Source/Diagnostics/Diagnostics.H b/Source/Diagnostics/Diagnostics.H
index 01ae6cca3..3ea4d2218 100644
--- a/Source/Diagnostics/Diagnostics.H
+++ b/Source/Diagnostics/Diagnostics.H
@@ -84,6 +84,8 @@ private:
bool m_plot_raw_rho = false;
/** Whether to plot F (charge conservation error) in raw fields */
bool m_plot_raw_F = false;
+ /** Whether to dump the RZ modes */
+ bool m_dump_rz_modes = false;
/** Whether this iteration has already been dumped, to avoid writing data twice */
int m_already_done = false;
/** Name of species to write to file */
diff --git a/Source/Diagnostics/Diagnostics.cpp b/Source/Diagnostics/Diagnostics.cpp
index ba5ba950b..8ad4d4153 100644
--- a/Source/Diagnostics/Diagnostics.cpp
+++ b/Source/Diagnostics/Diagnostics.cpp
@@ -61,6 +61,9 @@ Diagnostics::ReadParameters ()
std::remove(m_varnames.begin(), m_varnames.end(), "proc_number"),
m_varnames.end());
}
+#ifdef WARPX_DIM_RZ
+ pp.query("dump_rz_modes", m_dump_rz_modes);
+#endif
// Read user-defined physical extents for the output and store in m_lo and m_hi.
m_lo.resize(AMREX_SPACEDIM);
@@ -211,6 +214,9 @@ void
Diagnostics::AddRZModesToDiags (int lev)
{
#ifdef WARPX_DIM_RZ
+
+ if (!m_dump_rz_modes) return;
+
auto & warpx = WarpX::GetInstance();
int ncomp_multimodefab = warpx.get_pointer_Efield_aux(0, 0)->nComp();
// Make sure all multifabs have the same number of components