diff options
Diffstat (limited to 'Source/Evolve/WarpXEvolve.cpp')
-rw-r--r-- | Source/Evolve/WarpXEvolve.cpp | 23 |
1 files changed, 13 insertions, 10 deletions
diff --git a/Source/Evolve/WarpXEvolve.cpp b/Source/Evolve/WarpXEvolve.cpp index 6f8319d0f..1af123293 100644 --- a/Source/Evolve/WarpXEvolve.cpp +++ b/Source/Evolve/WarpXEvolve.cpp @@ -306,6 +306,15 @@ WarpX::Evolve (int numsteps) ComputeSpaceChargeField( reset_fields ); } + // sync up time + for (int i = 0; i <= max_level; ++i) { + t_new[i] = cur_time; + } + + // warpx_py_afterstep runs with the updated global time. It is included + // in the evolve timing. + if (warpx_py_afterstep) warpx_py_afterstep(); + Real evolve_time_end_step = amrex::second(); evolve_time += evolve_time_end_step - evolve_time_beg_step; @@ -316,10 +325,6 @@ WarpX::Evolve (int numsteps) << " s; This step = " << evolve_time_end_step-evolve_time_beg_step << " s; Avg. per step = " << evolve_time/(step+1) << " s\n"; } - // sync up time - for (int i = 0; i <= max_level; ++i) { - t_new[i] = cur_time; - } /// reduced diags if (reduced_diags->m_plot_rd != 0) @@ -329,12 +334,6 @@ WarpX::Evolve (int numsteps) } multi_diags->FilterComputePackFlush( step ); - if (cur_time >= stop_time - 1.e-3*dt[0]) { - break; - } - - if (warpx_py_afterstep) warpx_py_afterstep(); - // inputs: unused parameters (e.g. typos) check after step 1 has finished if (!early_params_checked) { amrex::Print() << "\n"; // better: conditional \n based on return value @@ -342,6 +341,10 @@ WarpX::Evolve (int numsteps) early_params_checked = true; } + if (cur_time >= stop_time - 1.e-3*dt[0]) { + break; + } + // End loop on time steps } |