User guide#
A simulation is built in three symbolic layers and run by a solver template on a backend:
Model ──────────▶ SystemModel ─────────▶ NumericalSystemModel ──▶ solver template ──▶ backend
PDE, closures, operator slots + reconstruction, one sympy graph JAX · foam · AMReX
BCs (flux, source, ...) Riemann solver, kernels per time step (printed, compiled)
page |
what you choose there |
|---|---|
one case, run on JAX, foam and AMReX |
|
model family, closures, boundary conditions |
|
nothing, usually: it is derived; inspect it, set initial conditions |
|
reconstruction order and limiter, Riemann solver |
|
hyperbolic or Chorin, CFL / |
|
where it runs: CPU, MPI, GPU |
The NSM is backend-neutral: the same object is handed to every backend, and the test matrix checks that the backends agree.