{"id": "viscous_operator", "title": "Structure of the BR2 viscous operator", "description": "At a quiescent state the energy\u2013energy and momentum\u2013momentum blocks of the weak-form Jacobian are exactly the discrete heat-conduction and viscous-stress operators. Their symmetry (the hallmark of an adjoint-consistent diffusion discretization) and positive semi-definiteness are checked on Cartesian and warped meshes with periodic and Dirichlet boundaries, and the Jacobian sparsity pattern is checked to be compact (face neighbours only), which element-block preconditioning relies on.", "passed": true, "checks": [{"name": "warp=0.0, periodic, p=2: asymmetry", "value": 2.704603458485343e-16, "expected": "< 1e-12", "passed": true}, {"name": "warp=0.0, periodic, p=2: smallest eigenvalue", "value": -5.447031714567174e-16, "expected": ">= -1e-12", "passed": true}, {"name": "warp=0.0, periodic, p=3: asymmetry", "value": 2.542136112922618e-16, "expected": "< 1e-12", "passed": true}, {"name": "warp=0.0, periodic, p=3: smallest eigenvalue", "value": -1.8926000438283716e-15, "expected": ">= -1e-12", "passed": true}, {"name": "warp=0.0, Dirichlet, p=2: asymmetry", "value": 1.1709383462843445e-16, "expected": "< 1e-12", "passed": true}, {"name": "warp=0.0, Dirichlet, p=2: smallest eigenvalue", "value": 0.025244234314326756, "expected": ">= -1e-12", "passed": true}, {"name": "warp=0.0, Dirichlet, p=3: asymmetry", "value": 1.4417325049240487e-16, "expected": "< 1e-12", "passed": true}, {"name": "warp=0.0, Dirichlet, p=3: smallest eigenvalue", "value": 0.01470106334770747, "expected": ">= -1e-12", "passed": true}, {"name": "warp=0.05, periodic, p=2: asymmetry", "value": 2.8209975363825296e-16, "expected": "< 1e-12", "passed": true}, {"name": "warp=0.05, periodic, p=2: smallest eigenvalue", "value": 5.536927791237699e-17, "expected": ">= -1e-12", "passed": true}, {"name": "warp=0.05, periodic, p=3: asymmetry", "value": 2.927303418858948e-16, "expected": "< 1e-12", "passed": true}, {"name": "warp=0.05, periodic, p=3: smallest eigenvalue", "value": -5.084692267708284e-16, "expected": ">= -1e-12", "passed": true}, {"name": "warp=0.05, Dirichlet, p=2: asymmetry", "value": 1.5964240504135714e-16, "expected": "< 1e-12", "passed": true}, {"name": "warp=0.05, Dirichlet, p=2: smallest eigenvalue", "value": 0.0247796180499878, "expected": ">= -1e-12", "passed": true}, {"name": "warp=0.05, Dirichlet, p=3: asymmetry", "value": 1.636868510062659e-16, "expected": "< 1e-12", "passed": true}, {"name": "warp=0.05, Dirichlet, p=3: smallest eigenvalue", "value": 0.01439935098174087, "expected": ">= -1e-12", "passed": true}, {"name": "element couplings outside the face-neighbour stencil", "value": 0, "expected": "== 0", "passed": true}], "charts": [], "tables": [{"id": "symmetry", "title": "Relative asymmetry and smallest eigenvalue", "columns": ["warp", "boundaries", "p", "asym. (heat)", "asym. (stress)", "min eig (heat)", "min eig (stress)"], "rows": [[0.0, "periodic", 2, 2.704603458485343e-16, 2.0254068692485952e-16, -5.447031714567174e-16, 6.555977203461879e-16], [0.0, "periodic", 3, 2.2838873649431775e-16, 2.542136112922618e-16, 1.1122835889062105e-16, -1.8926000438283716e-15], [0.0, "Dirichlet", 2, 7.905763955572544e-17, 1.1709383462843445e-16, 0.04231559828460689, 0.025244234314326756], [0.0, "Dirichlet", 3, 6.525392471266218e-17, 1.4417325049240487e-16, 0.024636582672553548, 0.01470106334770747], [0.05, "periodic", 2, 1.9043218410708743e-16, 2.8209975363825296e-16, 1.5374801843445614e-15, 5.536927791237699e-17], [0.05, "periodic", 3, 2.3864140327365533e-16, 2.927303418858948e-16, 1.1191850501061358e-15, -5.084692267708284e-16], [0.05, "Dirichlet", 2, 5.424966462096528e-17, 1.5964240504135714e-16, 0.04177774105915278, 0.0247796180499878], [0.05, "Dirichlet", 3, 1.3398956016489083e-16, 1.636868510062659e-16, 0.02425482120129331, 0.01439935098174087]]}], "provenance": {"version": "0.4.0", "commit": "39979fcf902ad6116eb550b881b4278d4599c8e2", "dirty": false, "describe": "39979fcf90", "device": {"platform": "cpu", "device": "cpu:0", "device_kind": "cpu", "jax": "0.11.2", "x64": true}, "timestamp": "2026-11-12T10:24:33-0500"}, "wall_time": 116.91, "level": "quick"}