run_bounded_steps Subroutine

public subroutine run_bounded_steps(ctx, max_steps, steps_taken, finished, time_stop, max_iter, checkpoint_freq, print_freq, snapshot_freq, max_iter_top_check, on_progress, every_steps, every_seconds)

Advance ctx by at most max_steps iterations (see module header for the ordering contract). All cadence/exit arithmetic that was duplicated between the per-dim loops lives here and only here. Hooks must not mutate the cfg fields passed as cadence arguments (time_stop, max_iter, checkpoint_freq/print_freq/snapshot_freq are snapshotted at call time and alias the ctx).

Arguments

Type IntentOptional Attributes Name
class(run_loop_ctx_t), intent(inout) :: ctx
integer, intent(in) :: max_steps
integer, intent(out) :: steps_taken
logical, intent(out) :: finished
real(kind=wp), intent(in) :: time_stop
integer, intent(in) :: max_iter
integer, intent(in) :: checkpoint_freq
integer, intent(in) :: print_freq
integer, intent(in) :: snapshot_freq
logical, intent(in) :: max_iter_top_check
procedure(progress_callback_i), optional :: on_progress
integer, intent(in), optional :: every_steps
real(kind=wp), intent(in), optional :: every_seconds