{"id": "sphere_re100", "title": "Laminar flow past a sphere, Re = 100 (3-D)", "description": "Steady three-dimensional Navier\u2013Stokes solve: sphere of diameter 1, Re = 100 on the diameter, M = 0.2, adiabatic no-slip wall, far field at 10 diameters; cubed-sphere mesh of 576 curved hexahedra (geometry degree 3) with mixed block orientations, BR2 viscous fluxes, Newton\u2013Krylov with p-multigrid. At this Reynolds number the flow is steady and axisymmetric with a closed recirculation bubble. References: drag coefficient 1.09 (standard drag curve of Clift, Grace & Weber 1978; Johnson & Patel, JFM 378, 1999, compute 1.08\u20131.10) and a bubble length of about 0.87 diameters (Johnson & Patel 1999; Taneda 1956). Both references are for incompressible flow in an unbounded domain; at M = 0.2 with the boundary at 10 diameters a difference of the order of one per cent is expected, which the tolerance on the drag covers. Drag is referred to the frontal area \u03c0/4.", "passed": true, "checks": [{"name": "all solves converged to a steady state", "value": true, "expected": "true", "passed": true}, {"name": "drag coefficient, highest order: |cd \u2212 1.09| / 1.09", "value": 0.01408983976360463, "expected": "< 0.03", "passed": true}, {"name": "wake is axisymmetric: lift, side force and moments (largest |coefficient|)", "value": 1.7680791822996842e-15, "expected": "< 1e-7", "passed": true}, {"name": "a closed recirculation bubble exists; length in diameters, highest order", "value": 0.9501288640898446, "expected": "within 15 % of 0.87", "passed": true}, {"name": "adiabatic wall: integrated heat flux", "value": 0.0, "expected": "< 1e-10", "passed": true}], "charts": [{"id": "axis", "type": "line", "title": "Streamwise velocity on the wake axis", "xlabel": "x (diameters, sphere centre at 0)", "ylabel": "u / U", "xscale": "linear", "yscale": "linear", "series": [{"name": "p = 2", "x": [0.5, 0.592842181, 0.685684361, 0.862084504, 1.038484648, 1.37364492, 1.708805192, 2.345609708, 2.982414225], "y": [0.014696077323373502, -0.04459171902329593, -0.10775884762999534, -0.13896190884659518, -0.11403354858003341, -0.025022954112506844, 0.08463012675816027, 0.26448717316619363, 0.3964386556677934]}]}], "tables": [{"id": "results", "title": "Sphere at Re = 100", "columns": ["p", "elements", "DOF", "Newton steps", "residual reduction", "cd", "bubble length / D", "first cell height / D", "largest |cl, cs, cm|", "solve time (s)"], "rows": [[2, 576, 77760, 14, 1.3330339260347874e-11, 1.1053579253423291, 0.9501288640898446, 0.18568436099999996, 1.7680791822996842e-15, 162.79846215248108]]}], "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-12T11:14:26-0500"}, "wall_time": 187.76, "notes": "The mesh has the symmetry of the cube, so the vanishing lift and side force show that the solver preserves a symmetric solution; they do not test the stability of the axisymmetric wake (which is stable below Re of about 210). The bubble length is read from the solution nodes on the wake axis by linear interpolation between the two nodes where the velocity changes sign.", "level": "quick"}