diff options
-rw-r--r-- | Regression/WarpX-tests.ini | 2 | ||||
-rw-r--r-- | Source/Diagnostics/Diagnostics.H | 2 | ||||
-rw-r--r-- | Source/Diagnostics/Diagnostics.cpp | 6 |
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 |