You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
#856 points out, in a comment, that postprocessors need to use this->get_old_timestep() because the time step is updated between solving and calling postprocessors. This is, at least, confusing.
Indeed, the code looks like this in core.cc:
// start the principal loop over time steps:
do
{
start_timestep ();
// then do the core work: assemble systems and solve
solve_timestep ();
pcout << std::endl;
// update the time step size
// for now the bool (convection/conduction dominated)
// returned by compute_time_step is unused, will be
// added to statistics later
old_time_step = time_step;
time_step = std::min (compute_time_step().first,
parameters.maximum_time_step);
time_step = termination_manager.check_for_last_time_step(time_step);
if (parameters.convert_to_years == true)
statistics.add_value("Time step size (years)", time_step / year_in_seconds);
else
statistics.add_value("Time step size (seconds)", time_step);
....
postprocessor();
This also means that we output the next time step into the statistics file, not the one that was used for the current computations. I think we should re-think the current structure.
The text was updated successfully, but these errors were encountered:
#856 points out, in a comment, that postprocessors need to use
this->get_old_timestep()
because the time step is updated between solving and calling postprocessors. This is, at least, confusing.Indeed, the code looks like this in core.cc:
This also means that we output the next time step into the statistics file, not the one that was used for the current computations. I think we should re-think the current structure.
The text was updated successfully, but these errors were encountered: