Initialize translational acceleration sensor mass#490
Conversation
Supply position and velocity initial values so the acceleration sensor fixture remains fully determined after Mass stopped providing defaults. Co-Authored-By: Chris Rackauckas <accounts@chrisrackauckas.com>
|
Investigation scratchpad:
|
|
The first completed Core failure is unrelated to this PR's translational change:
No SISO assertion or initialization behavior is changed in this focused translational PR. |
|
The remaining Core matrix is consistent with the same separate SISO regression:
The separate clean-main audit was explicitly tasked with classifying both current and downgrade forms and determining whether they share one root cause. All three Julia versions verify this PR's translational target before the unrelated utils failure. |
|
Superseded by the now-validated focused draft #489 and its stacked SISO follow-up #491. #489 covers the same AccelerationSensor initialization defect, passes the same 16/16 translational target on Julia 1.10 and 1.12, and carries the formal ModelingToolkit boundary evidence. Keeping both alternative fixture placements open would duplicate review and CI. The constructor-level branch and its investigation remain available in history, but no review was posted here and no contributor work is being overwritten. |
This PR should be ignored until reviewed by @ChrisRackauckas.
Summary
Root cause
TP.Massstopped supplyings = 0andv = 0defaults in #305, but this fixture continued constructing it with onlym. ModelingToolkit v11.10.0 exposed that underconstraint afterb0f31536949370d189c03df71bc38f692a9a6975stopped alias elimination from silently zeroing underconstrained variables. With ModelingToolkit v11.31.2,ODEProblem(...; fully_determined = true)therefore reports a structurally singularmass₊v(t)initialization system.Providing the initial state on
TP.Massis the smallest fix and establishes the state beforemtkcompile. This extracts the same focused fixture correction from the broader #452; theoutputsapproach attempted in #450 does not alter structural balance.Local verification
test/translational.jl— 16/16 passedtest/translational.jl— 16/16 passed after rebasing onto06464384test/translational.jl— 16/16 passedsin(4πt) / 4was0.0--checkexited 0GROUP=Corewith Define the piston test independent variable #485–Fix underdetermined thermal heat-flow sensor test #488:Core/translational.jlpassed 16/16; the overall group later exited 1 in the unrelatedCore/utils.jlSISO check, which is being handled as a separate clean-main audit