run_solver_steps Subroutine

public subroutine run_solver_steps(ctx, max_steps, steps_taken, finished, is_ok, message)

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.

Arguments

Type IntentOptional 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