Compute the spatial residual R(Q), dispatching on the block's method.
Thin seam over the per-method residual kernels. The discretization method
is data on the solver state (state % blocks(1) % method); this routine
selects the matching kernel via an internal select case rather than a
state-typed procedure pointer (which would create a circular module
dependency). The public signature is unchanged, so all existing callers
keep working. The 'fdm' arm runs the finite-difference kernel; the 'fvm'
arm runs the cell-centered finite-volume kernel.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| type(solver_state_t), | intent(inout) | :: | state |
Solver instance state. |