| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| type(solver_state_2d_t), | intent(inout), | target | :: | state |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| type(solver_state_2d_t), | intent(in) | :: | state |
Per-cell contravariant spectral radius for the curvilinear CFL limit: (|u.Sxi| + c|Sxi| + |u.Seta| + c|Seta|) / V, with cell-averaged face vectors.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| real(kind=wp), | intent(in) | :: | u | |||
| real(kind=wp), | intent(in) | :: | v | |||
| real(kind=wp), | intent(in) | :: | c | |||
| real(kind=wp), | intent(in) | :: | sxi(2) | |||
| real(kind=wp), | intent(in) | :: | seta(2) | |||
| real(kind=wp), | intent(in) | :: | vol |
stepper_kernels rhs callback: recompute the 2D residual (halo exchange + BCs + interior resid happen inside compute_resid_2d).
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(*), | intent(inout), | target | :: | ctx |
Classic RK4 via the shared kernel. Whole-array flat update (halos included) — legal under the halo-zero resid invariant; halos are refreshed inside compute_resid_2d before each use. New in R2; no bit-history to preserve.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| type(solver_state_2d_t), | intent(inout), | target | :: | state |
SSPRK(5,4) via the shared kernel (see rk4_step_2d notes).
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| type(solver_state_2d_t), | intent(inout), | target | :: | state |
Explicit Euler via the shared kernel (whole-array flat update under the
halo-zero resid invariant — see rk4_step_2d notes). Retired from the
legacy interior-slice form in Q2a: u + dt*resid is the identical
expression and halo resid is zero, so this one is bit-neutral.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| type(solver_state_2d_t), | intent(inout), | target | :: | state |
SSPRK(2,2) via the shared kernel (see rk4_step_2d notes). Q2a authorized last-bit change: the kernel's 1D-verbatim distributed stage groupings replace the legacy factored groupings (spec 2026-07-10 §5).
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| type(solver_state_2d_t), | intent(inout), | target | :: | state |
TVD-RK3 via the shared kernel (see rk4_step_2d notes). Q2a authorized last-bit change, as ssprk22 above. This is every 2D deck's default integrator, so all 2D golden outputs move at the last bit.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| type(solver_state_2d_t), | intent(inout), | target | :: | state |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| procedure(stepper_2d_iface), | intent(out), | pointer | :: | stepper | ||
| character(len=*), | intent(in) | :: | scheme |