Finite-Difference
- Add a new discretization rule
End-to-end contributor walkthrough: declare a rule JSON, ship canonical + convergence fixtures, register with the walker, and render the catalog page. Worked example: centered_2nd_uniform on a Cartesian axis.
- centered_2nd_uniform
finite_difference
cartesian
scheme
O(dx²)
Two-point centered second-order finite difference for ∂u/∂x on a uniform Cartesian axis, expressed as a closed §4.2 arrayop lowering.
- centered_2nd_uniform_latlon
finite_difference
latlon
scheme
O(h²)
Centered second-order finite difference on a regular lat-lon grid, with the standard cos λ metric on the longitudinal stencil.
- centered_2nd_uniform_vertical
finite_difference
vertical
scheme
O(h²)
Two-point centered second-order finite difference for ∂u/∂k on a uniformly-spaced vertical axis.
- nn_diffusion_mpas
finite_difference
mpas
scheme
O(h²) on quasi-uniform Voronoi
Nearest-neighbor diffusion on an MPAS Voronoi mesh, summed over edges_on_cell with dv_edge / (dc_edge · area_cell) coefficients.
- periodic_bc
finite_difference
cartesian
boundary_condition
exact (index rewrite)
Periodic boundary handling as a downstream index-rewrite rule: wraps an out-of-range stencil access index(u, i − offset) to index(u, mod(i − offset + Nx, Nx)) on axes declared periodic by the domain.
- upwind_1st
finite_difference
cartesian
scheme
O(dx)
First-order upwind (backward) finite difference for ∂u/∂x on a uniform Cartesian axis.