Initialize translational acceleration sensor test#489
Conversation
Co-Authored-By: Chris Rackauckas <accounts@chrisrackauckas.com>
|
Investigation scratchpad / final local state:
CI timing estimate: recent Tests workflows have taken about 34–67 minutes and IntegrationTest runs about 2h12–2h47. A conservative 3-hour check target is 2026-07-13 19:52:45 EDT. |
|
CI classification for the independent SISO failures:
QA and documentation are green. Downstream remains in progress. |
|
I independently audited the remaining red jobs here. The translational file passes with this PR's change; the failures occur later in clean-main
Draft #491 is the separate focused fix. Its |
|
Terminal CI classification: all completed package Core lanes reach and pass the translational file with this change, then fail later at the separately fixed SISO initialization covered by stacked #491. The ModelingToolkit downstream failure is the independently reproduced same-process environment leak: LinearSolveArnoldiMethodExt resolves against a mismatched LinearSolve module and reports ArnoldiMethodJL undefined. That infrastructure fix is now in SciMLTesting draft #23 with the ModelingToolkit opt-in in draft #4749. No AccelerationSensor-specific CI failure appeared. |
This PR should be ignored until reviewed by @ChrisRackauckas.
Summary
TranslationalPosition.AccelerationSensortest mass.Root cause
The test constructed
TranslationalPosition.Mass(m = 4)and then passed no initial conditions toODEProblem(...; fully_determined = true). Current ModelingToolkit therefore correctly reports an underdetermined initialization system rather than selecting arbitrary initial position and velocity values.ModelingToolkit source-history bisection identified
b0f31536949370d189c03df71bc38f692a9a6975(fix: avoid false positives in consistency check) as the first bad commit for this fixture:80f7f62bc0a8925dfef88f149c111c6dc812415econstructed the problem only because alias elimination silently forced underconstrained variables to zero.b0f3153694intentionally replaced that behavior withIgnoreUnderconstrainedVariable; the same fixture then reported 4 highest-order derivative variables for 2 equations, includingmass₊sˍt(t)andacc₊flange₊s(t).Giving the mass explicit zero position and velocity is the physical assumption the test already relied on. This is distinct from the closed
outputs=attempt in #450: outputs do not change structural balance. An explicit internal velocity insideAccelerationSensorwas also tested and did not fix initialization; it only moved the singular variable.Local verification
Using registry ModelingToolkit 11.31.2 and ModelingToolkitBase 1.51.1:
06464384:test/translational.jlpassed 16/16 (Free2/2; spring/damper/mass/fixed 4/4; driven 4/4; sources and sensors 6/6).acc_output ≈ mass.f / m.git diff --checkpassed.Process log
outputs=and internal-velocity hypotheses.b0f3153694and inspected its removal of silent zeroing.