From 48cae3eb1d989809b45ca818f2211f9b9dfa4f28 Mon Sep 17 00:00:00 2001 From: jyviko <2501648+jyviko@users.noreply.github.com> Date: Wed, 14 Oct 2026 16:53:52 -0400 Subject: [PATCH] engine: heated-bracket test allows the clamped bore's 2.1 % on Linux The heavy test asked the upright's top to grow within 2 % of free thermal expansion; the clamped bore holds it back by 2.1 % on the Linux CI's tet mesh, which differs from macOS's (#115). 3 % still catches a wrong expansion coefficient or temperature. Co-Authored-By: Claude Opus 5.5 Claude-Session: https://claude.ai/code/session_01UhhZMBTviDQxZvwnyP89fo --- crates/engine/src/sample.rs | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/crates/engine/src/sample.rs b/crates/engine/src/sample.rs index e49913c..1231d8f 100644 --- a/crates/engine/src/sample.rs +++ b/crates/engine/src/sample.rs @@ -689,8 +689,9 @@ mod tests { /// the bracket away from the heater. Its thermal expansion: with the air at the heater's /// temperature the bracket warms evenly by ΔT, and held at the foot's hole alone (at x = 40) /// it grows freely, so a point moves α ΔT times its distance from the hole's axis along x: - /// the upright's top by −0.0432 mm (within 2 %), the foot's end by +0.024 mm (within 6 %: - /// the clamped bore cannot grow). + /// the upright's top by −0.0432 mm (within 3 %), the foot's end by +0.024 mm (within 6 %). + /// The clamped bore cannot grow, which holds both points back a little; how much depends on + /// the tet mesh, which differs between platforms (#115): 2.1 % at the top on the Linux CI. #[test] #[ignore = "heavy: cargo xtask test --heavy (CI heavy job)"] fn the_heated_bracket_warms_and_expands_as_steel() { @@ -711,7 +712,7 @@ mod tests { let grow = STEEL_EXPANSION * (HEATER - AMBIENT); // The bore itself cannot grow, which holds back the foot's end, 16 mm from its edge, a // little more than the upright's top, 32 mm away. - for (i, tolerance) in [(0, 0.02), (1, 0.06)] { + for (i, tolerance) in [(0, 0.03), (1, 0.06)] { let node = &p["nodes"][i]; let (ux, expected) = (node["displacement"][0].as_f64().unwrap(), grow * (node["xyz"][0].as_f64().unwrap() - 40.0)); assert!((ux - expected).abs() < tolerance * expected.abs(), "{node}: {ux} against {expected}");