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 |