Mutable solver session that owns one configuration and, optionally, one runtime.
V1 keeps exactly one runtime context inside a session. Any setter or new namelist load invalidates the active runtime so the next initialise call rebuilds state from a coherent configuration snapshot.
| Type | Visibility | Attributes | Name | Initial | |||
|---|---|---|---|---|---|---|---|
| type(config_t), | public | :: | cfg | ||||
| type(solver_run_context_t), | public | :: | ctx | ||||
| integer, | public | :: | dim | = | 1 |
Problem dimension: 1 or 2. Set ONLY by solver_session_load_namelist via config_dim.read_dim on the namelist PATH; LOAD_CONFIG_INLINE / SET-built configs carry no namelist buffer and stay dim=1 (spec 2026-07-03 ยง2.7). |
|
| type(config_2d_t), | public | :: | cfg_2d | ||||
| type(solver_run_context_2d_t), | public | :: | ctx_2d | ||||
| character(len=512), | public | :: | nml_path | = | '' | ||
| character(len=512), | public | :: | case_dir | = | '' |
Case directory anchoring relative file paths for a LOAD_CONFIG_INLINE config (which has no namelist path to derive it from); '' -> resolve against the process cwd (unchanged legacy behaviour). |
|
| logical, | public | :: | has_runtime | = | .false. | ||
| character(len=512), | public | :: | last_error | = | '' |