Advance the main time loop by at most max_steps iterations.
This polling-friendly entry point preserves checkpointing and live-snapshot
behaviour while allowing adapters to inspect the state between calls.
Polling is the canonical live-update path for the library ABI; the
snapshot-file writes below remain as a compatibility side channel.
Lightweight iteration timing (iter_s, elapsed_s) is always tracked so
log lines stay meaningful even when do_timing is .false.; the heavier
end-of-run summary and fine-grained region timers remain opt-in.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| type(solver_run_context_t), | intent(inout) | :: | ctx | |||
| integer, | intent(in) | :: | max_steps | |||
| integer, | intent(out) | :: | steps_taken | |||
| logical, | intent(out) | :: | finished | |||
| logical, | intent(out), | optional | :: | is_ok | ||
| character(len=*), | intent(out), | optional | :: | message |