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).
| Type | Intent | Optional | 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 |