Multi-fluid Solver â Engine Router Validation
This page exercises the router / classifier â the integration capstone â live in the browser, calling the public /api/v1/solver-router/solve compute surface. The router inspects four axes (compressibility · phase-behaviour · energy-coupling · fluid-type), picks the right engine â the head-based GGA for incompressible liquids (Newtonian or non-Newtonian) or the marching-Newton engine for compressible / two-phase â and enforces the phase-change safety rule: an incompressible engine is never allowed to silently solve a fluid that might flash. Pick a regime and solve; the routing decision (engine, provider, reason, and whether it was forced by safety) is shown before the result.
Cold water (Ï=998, Ξ=1e-3) at 3â2 bar, 293 K. Incompressible, isothermal, Newtonian â the fast head-based GGA. The cross-engine check also runs the marching engine on the same net and confirms they agree (~0.03%).
Expected routing: GGA (constant) â incompressible Newtonian liquid
Backend: backend/api/v1/endpoints/solver_router.py · core/router.py (classify + dispatch over the GGA + marching-Newton engines) · stateless, public, no auth.