Small time step size when using CheckPointTimeLoop
When using the CheckPointTimeLoop
it may happen that the last time step is extremely small (e.g. in the range of 1.0e-16),
see the exercise_1p_c
of the dumux-course in the exercise-mainfile
folder. The reason for this are rounding errors and the implementation of the function
bool finished() const
{ return finished_ || time_ >= endTime_; }
where time_ >= endTime
is false since time_ = endTime_ - eps
.
It would be better to use Dune::FloatCmp::eq
instead. The same also holds for the function willBeFinished()
.