As @keileg proposed in #1682, we should make a GH issue with stuff we need to remember regarding the solver statistics. I'll start.
SolverStatistics does not save the nonlinear iteration statistics if the nonlinear iteration failed. E.g, if the 0th nonlinear iteration failed, the saved data will contain keys "global", "1", "2", etc., but not "0", where the failed iteration data should be located. The "global" sub-dictionary will still have its share of information about the failed 0th iteration inside.
This is reproduced in test_solve_failure_time_dependent_statistics, which will reside in test_time_stepper.py when #1682 is merged.
Technically, it happens because model.save_data_sime_step() is called in model.after_time_step_convergence, but not called in model.after_time_step_failure in solution_strategy.py. After discussion with @keileg, we decided to keep this behavior for now, but keep it in mind.
As @keileg proposed in #1682, we should make a GH issue with stuff we need to remember regarding the solver statistics. I'll start.
SolverStatistics does not save the nonlinear iteration statistics if the nonlinear iteration failed. E.g, if the 0th nonlinear iteration failed, the saved data will contain keys "global", "1", "2", etc., but not "0", where the failed iteration data should be located. The "global" sub-dictionary will still have its share of information about the failed 0th iteration inside.
This is reproduced in
test_solve_failure_time_dependent_statistics, which will reside intest_time_stepper.pywhen #1682 is merged.Technically, it happens because
model.save_data_sime_step()is called inmodel.after_time_step_convergence, but not called inmodel.after_time_step_failureinsolution_strategy.py. After discussion with @keileg, we decided to keep this behavior for now, but keep it in mind.