{"id": "mms_navier_stokes", "title": "Manufactured solutions: Navier\u2013Stokes", "description": "Viscous manufactured solutions with Dirichlet walls, solved implicitly with p-multigrid from the nodal values of the exact solution (the solve removes the truncation-error residual). 4 regimes are separated: heat conduction (quiescent); diffusion dominated, Re = 10; diffusion dominated, no mean flow, Re = 10; convection dominated, Re = 1000. Orders are reported per primitive variable. Every regime must reach the rate p that consistency guarantees; heat conduction and convection-dominated flow, where the coupling between pressure and velocity is absent or hyperbolic, are also checked against the design rate p + 1. In the diffusion-dominated regimes, where only the rate p is required of the state, the velocity is held to an empirical floor of p + 0.4 between the meshes 8 \u2192 16; the floor was measured on that pair and is not a property of the scheme, so it is applied to the same pair at every level.", "passed": true, "checks": [{"name": "heat conduction (quiescent), p = 2: state order", "value": 3.600876522267061, "expected": ">= 1.75 (guaranteed rate p = 2, tolerance 0.25; design rate 3)", "passed": true}, {"name": "heat conduction (quiescent), p = 2: near-optimal state order", "value": 3.600876522267061, "expected": ">= 2.60 (design rate p + 1 = 3, tolerance 0.4)", "passed": true}, {"name": "heat conduction (quiescent), p = 3: state order", "value": 3.99849270061173, "expected": ">= 2.75 (guaranteed rate p = 3, tolerance 0.25; design rate 4)", "passed": true}, {"name": "heat conduction (quiescent), p = 3: near-optimal state order", "value": 3.99849270061173, "expected": ">= 3.60 (design rate p + 1 = 4, tolerance 0.4)", "passed": true}, {"name": "diffusion dominated, Re = 10, p = 2: state order", "value": 2.3325624330322148, "expected": ">= 1.75 (guaranteed rate p = 2, tolerance 0.25; design rate 3)", "passed": true}, {"name": "diffusion dominated, Re = 10, p = 2: velocity order between the meshes 8 \u2192 16", "value": 2.7268695342594906, "expected": ">= 2.40 (empirical floor p + 0.4, measured on this mesh pair; guaranteed rate p = 2, design rate 3)", "passed": true}, {"name": "diffusion dominated, Re = 10, p = 3: state order", "value": 3.793961250985055, "expected": ">= 2.75 (guaranteed rate p = 3, tolerance 0.25; design rate 4)", "passed": true}, {"name": "diffusion dominated, Re = 10, p = 3: velocity order between the meshes 8 \u2192 16", "value": 4.193538583163875, "expected": ">= 3.40 (empirical floor p + 0.4, measured on this mesh pair; guaranteed rate p = 3, design rate 4)", "passed": true}, {"name": "diffusion dominated, no mean flow, Re = 10, p = 2: state order", "value": 1.9913159298160035, "expected": ">= 1.75 (guaranteed rate p = 2, tolerance 0.25; design rate 3)", "passed": true}, {"name": "diffusion dominated, no mean flow, Re = 10, p = 2: velocity order between the meshes 8 \u2192 16", "value": 2.5718097929644186, "expected": ">= 2.40 (empirical floor p + 0.4, measured on this mesh pair; guaranteed rate p = 2, design rate 3)", "passed": true}, {"name": "convection dominated, Re = 1000, p = 2: state order", "value": 2.851998306533014, "expected": ">= 1.75 (guaranteed rate p = 2, tolerance 0.25; design rate 3)", "passed": true}, {"name": "convection dominated, Re = 1000, p = 2: near-optimal state order", "value": 2.851998306533014, "expected": ">= 2.60 (design rate p + 1 = 3, tolerance 0.4)", "passed": true}, {"name": "convection dominated, Re = 1000, p = 3: state order", "value": 3.9186240168098796, "expected": ">= 2.75 (guaranteed rate p = 3, tolerance 0.25; design rate 4)", "passed": true}, {"name": "convection dominated, Re = 1000, p = 3: near-optimal state order", "value": 3.9186240168098796, "expected": ">= 3.60 (design rate p + 1 = 4, tolerance 0.4)", "passed": true}], "charts": [{"id": "error_vs_h", "type": "convergence", "title": "Error of the conserved state by regime", "xlabel": "h", "ylabel": "L2 error", "xscale": "log", "yscale": "log", "series": [{"name": "heat conduction (quiescent), p = 2", "x": [0.25, 0.125, 0.0625], "y": [0.003678567693511718, 0.0003749004162860389, 3.089897541241069e-05]}, {"name": "heat conduction (quiescent), p = 3", "x": [0.25, 0.125, 0.0625], "y": [0.00023907479731515133, 1.5519631494647425e-05, 9.709909108454365e-07]}, {"name": "diffusion dominated, Re = 10, p = 2", "x": [0.25, 0.125, 0.0625], "y": [0.011287976973470278, 0.002488393443676995, 0.0004940237060275725]}, {"name": "diffusion dominated, Re = 10, p = 3", "x": [0.25, 0.125, 0.0625], "y": [0.0005101121159320926, 3.8538529328938086e-05, 2.7784270504518226e-06]}, {"name": "diffusion dominated, no mean flow, Re = 10, p = 2", "x": [0.25, 0.125, 0.0625], "y": [0.020155409349661063, 0.0053953215521416135, 0.0013569739398862106]}, {"name": "convection dominated, Re = 1000, p = 2", "x": [0.25, 0.125, 0.0625], "y": [0.004537434206022781, 0.0006223679182626879, 8.620057439761131e-05]}, {"name": "convection dominated, Re = 1000, p = 3", "x": [0.25, 0.125, 0.0625], "y": [0.00019839142547609733, 1.3382015327642857e-05, 8.849080628341227e-07]}], "reference_slopes": [{"slope": 3, "label": "h^3"}, {"slope": 4, "label": "h^4"}]}], "tables": [{"id": "orders", "title": "Observed orders on the finest mesh pair", "columns": ["regime", "p", "L2 error (finest)", "state", "velocity", "pressure", "temperature"], "rows": [["heat conduction (quiescent)", 2, 3.089897541241069e-05, 3.600876522267061, 3.643300408644467, 3.6004587037302853, 3.0523811664953526], ["heat conduction (quiescent)", 3, 9.709909108454365e-07, 3.99849270061173, 4.945911115971639, 3.9979522643643866, 4.589926810900598], ["diffusion dominated, Re = 10", 2, 0.0004940237060275725, 2.3325624330322148, 2.7268695342594906, 2.3366292368189328, 3.1516967093805057], ["diffusion dominated, Re = 10", 3, 2.7784270504518226e-06, 3.793961250985055, 4.193538583163875, 3.7977603546756082, 4.6129109722237684], ["diffusion dominated, no mean flow, Re = 10", 2, 0.0013569739398862106, 1.9913159298160035, 2.5718097929644186, 1.9904705985083122, 2.706469196145421], ["convection dominated, Re = 1000", 2, 8.620057439761131e-05, 2.851998306533014, 2.9947656453616123, 2.841668603064798, 2.957457487994218], ["convection dominated, Re = 1000", 3, 8.849080628341227e-07, 3.9186240168098796, 3.980746490989395, 3.90575356368711, 4.11095834018532]]}], "provenance": {"version": "0.4.0", "commit": "39979fcf902ad6116eb550b881b4278d4599c8e2", "dirty": false, "describe": "39979fcf90", "device": {"platform": "gpu", "device": "cuda:0", "device_kind": "NVIDIA GeForce RTX 3060 Ti", "jax": "0.11.2", "x64": true}, "timestamp": "2026-11-12T10:48:07-0500"}, "wall_time": 1225.27, "notes": "State orders on the finest mesh pair. Within 0.4 of the design rate p + 1: heat conduction (quiescent) (p = 2: 3.60); heat conduction (quiescent) (p = 3: 4.00); diffusion dominated, Re = 10 (p = 3: 3.79); convection dominated, Re = 1000 (p = 2: 2.85); convection dominated, Re = 1000 (p = 3: 3.92). Further below it: diffusion dominated, Re = 10 (p = 2: 2.33, slowest variable pressure at 2.34); diffusion dominated, no mean flow, Re = 10 (p = 2: 1.99, slowest variable pressure at 1.99). Only the guaranteed rate p is required of the state in the regimes that are not checked against the design rate; in the diffusion-dominated ones the velocity must also reach p + 0.4 between the meshes 8 \u2192 16, the pair on which that empirical floor was measured (the finest pair of this run), and on the finest pair its order minus that of pressure was +0.39 to +0.58 in this run. The per-variable orders are in the table. Symmetry of the viscous operator and the order of the diffusion discretization on its own are the subject of the viscous-operator and 1-D model studies.", "level": "quick"}