From e99033f0222bd38b40651088807b3b7c31ea089c Mon Sep 17 00:00:00 2001 From: JKRT Date: Tue, 27 Oct 2026 21:45:52 +0100 Subject: [PATCH] Registry: validate at the default tolerance over the experiment's horizon The relaxed validation settings (atol/reltol above 0.01/3e-3, a stopTime short of the experiment's) are off the relaxed entries of models that validated: 113 for MSL 4.1.0, 123 for 3.2.3. 95 and 105 of them validate strictly (OM.jl runs at the default rule over the full horizon, cross-checked with omc); 18 per version do not: their issue notes the finding, and they count as failing until fixed. A stopTime stays only where the reference ends before the experiment; ChuaCircuit 4.1.0 goes to its reference's end, 3000 s. Expected from the next coverage runs: MSL 4.1.0 about 482/534 validate (was 500), 3.2.3 about 370/425 (was 388). Assisted-by: Claude Opus 5.5 --- models/models.toml | 464 +++++++++------------------------------ models/models_4.1.0.toml | 254 ++------------------- 2 files changed, 130 insertions(+), 588 deletions(-) diff --git a/models/models.toml b/models/models.toml index 0b1ad4e..96c9136 100644 --- a/models/models.toml +++ b/models/models.toml @@ -3,6 +3,10 @@ msl_version = "MSL:3.2.3" description = "OM.jl MSL coverage model registry" reference_source = "MAP-LIB_ReferenceResults (Dymola, branch v3.2.3)" +# 2026-10-27: the relaxed validation settings (atol/reltol above 0.01/3e-3, a stopTime short of the experiment's) are +# off the 123 relaxed entries of models that validated: 105 validate strictly, 18 do not (their issue notes the +# finding). + # ========================================================================== # Per-model fields supported (in addition to expected, skipPhases, issue, ...): # solver = "Rodas5" | "Rodas5P" | "QNDF" | "FBDF" | "TRBDF2" @@ -73,24 +77,18 @@ issue = "" [models.FluidHeatFlow_OneMass] name = "Modelica.Thermal.FluidHeatFlow.Examples.OneMass" domain = "Thermal.FluidHeatFlow" -stopTime = 0.2 expected = "validate" skipPhases = [] -reltol = 0.05 -atol = 0.5 referenceFile = "Thermal_FluidHeatFlow_Examples_OneMass" -issue = "2026-05-17 probe: SIM goes Unstable just past t~0.213 (DAE IC propagation gap). At stopTime=0.2 SIM completes and validates 2/2 (heatCapacitor.T/pipe.T max_err < 0.1 K). Shortened to capture the stable region; full stopTime=1 needs the IC fix." +issue = "2026-10-27 strict check (atol 0.01, reltol 3e-3, the experiment's horizon): OM.jl's heatCapacitor.T and pipe.T are off by 3-5 K; omc matches the reference. Its relaxed settings removed: it counts as failing until fixed. 2026-05-17 probe: SIM goes Unstable just past t~0.213 (DAE IC propagation gap). At stopTime=0.2 SIM completes and validates 2/2 (heatCapacitor.T/pipe.T max_err < 0.1 K). Shortened to capture the stable region; full stopTime=1 needs the IC fix." [models.FluidHeatFlow_PumpDropOut] name = "Modelica.Thermal.FluidHeatFlow.Examples.PumpDropOut" domain = "Thermal.FluidHeatFlow" -stopTime = 0.3 expected = "validate" skipPhases = [] -reltol = 0.05 -atol = 0.5 referenceFile = "Thermal_FluidHeatFlow_Examples_PumpDropOut" -issue = "2026-05-17 probe: SIM goes Unstable past t~0.41 (DAE IC propagation gap). At stopTime=0.3 SIM completes and validates 2/2 (heatCapacitor.T/pipe.T max_err < 0.1 K). Shortened to capture the stable region." +issue = "2026-10-27 strict check (atol 0.01, reltol 3e-3, the experiment's horizon): OM.jl goes Unstable after the pump drop-out (the old stopTime 0.3 s stopped before it); omc simulates the 2 s. Its relaxed settings removed: it counts as failing until fixed. 2026-05-17 probe: SIM goes Unstable past t~0.41 (DAE IC propagation gap). At stopTime=0.3 SIM completes and validates 2/2 (heatCapacitor.T/pipe.T max_err < 0.1 K). Shortened to capture the stable region." [models.FluidHeatFlow_PumpAndValve] name = "Modelica.Thermal.FluidHeatFlow.Examples.PumpAndValve" @@ -98,21 +96,16 @@ domain = "Thermal.FluidHeatFlow" stopTime = 2.0 expected = "validate" skipPhases = [] -reltol = 0.05 -atol = 0.5 referenceFile = "Thermal_FluidHeatFlow_Examples_PumpAndValve" -issue = "2026-06-09: init NaN resolved by the SimCode propagateInitialValues pass now forward-propagating through IF_EQUATION branches (valve max/min/exp characteristic). Full stopTime=2.0 simulate to Success; heatCapacitor.T/pipe.T/speed.phi match the Dymola reference to ~2e-4 at t=2.0." +issue = "2026-10-27: validates strictly (atol 0.01, reltol 3e-3, the experiment's horizon): its relaxed settings removed. 2026-06-09: init NaN resolved by the SimCode propagateInitialValues pass now forward-propagating through IF_EQUATION branches (valve max/min/exp characteristic). Full stopTime=2.0 simulate to Success; heatCapacitor.T/pipe.T/speed.phi match the Dymola reference to ~2e-4 at t=2.0." [models.FluidHeatFlow_ParallelPumpDropOut] name = "Modelica.Thermal.FluidHeatFlow.Examples.ParallelPumpDropOut" domain = "Thermal.FluidHeatFlow" -stopTime = 0.3 expected = "validate" skipPhases = [] -reltol = 0.05 -atol = 0.5 referenceFile = "Thermal_FluidHeatFlow_Examples_ParallelPumpDropOut" -issue = "2026-06-09: simulate unblocked by the SimCode propagateInitialValues pass. SIM goes Unstable past t~0.4 (same DAE-IC-gap as PumpDropOut). At stopTime=0.3 SIM completes and validates 5/5 signals (heatCapacitor1/2.T, pipe1/2/3.T) to ~6e-4. Shortened to the stable region; full stopTime=2.0 needs the IC fix." +issue = "2026-10-27 strict check (atol 0.01, reltol 3e-3, the experiment's horizon): OM.jl goes Unstable after the pump drop-out (the old stopTime 0.3 s stopped before it); omc simulates the 2 s. Its relaxed settings removed: it counts as failing until fixed. 2026-06-09: simulate unblocked by the SimCode propagateInitialValues pass. SIM goes Unstable past t~0.4 (same DAE-IC-gap as PumpDropOut). At stopTime=0.3 SIM completes and validates 5/5 signals (heatCapacitor1/2.T, pipe1/2/3.T) to ~6e-4. Shortened to the stable region; full stopTime=2.0 needs the IC fix." [domain_overrides."StateGraph"] skipPhases = ["simulate", "validate"] @@ -125,44 +118,34 @@ issue = "Backend now passes (2026-04-22 time-in-initial-equation fix in MTK_Code [models.Pendulum] name = "Modelica.Mechanics.MultiBody.Examples.Elementary.Pendulum" domain = "Mechanics.MultiBody" -stopTime = 1.0 expected = "validate" -reltol = 0.01 atol = 0.01 referenceFile = "Mechanics_MultiBody_Examples_Elementary_Pendulum" [models.DoublePendulum] name = "Modelica.Mechanics.MultiBody.Examples.Elementary.DoublePendulum" domain = "Mechanics.MultiBody" -stopTime = 1.0 expected = "validate" -reltol = 0.01 -atol = 0.05 referenceFile = "Mechanics_MultiBody_Examples_Elementary_DoublePendulum" [models.Engine1a] name = "Modelica.Mechanics.MultiBody.Examples.Loops.Engine1a" domain = "Mechanics.MultiBody" -stopTime = 0.72 expected = "validate" -reltol = 0.05 -atol = 0.1 referenceFile = "Mechanics_MultiBody_Examples_Loops_Engine1a" [models.ThreeSprings] name = "Modelica.Mechanics.MultiBody.Examples.Elementary.ThreeSprings" domain = "Mechanics.MultiBody" -stopTime = 1.0 expected = "backend" skipPhases = ["simulate", "validate"] -issue = "DAE_identifierToString(::DAE.ARRAY) in codegen. 2026-09-27: reaches backend without the registry's skips (coverage run on the 1.13 stack)." +issue = "2026-10-27: validates strictly (atol 0.01, reltol 3e-3, the experiment's horizon): its relaxed settings removed. DAE_identifierToString(::DAE.ARRAY) in codegen. 2026-09-27: reaches backend without the registry's skips (coverage run on the 1.13 stack)." [models.FreeBody] name = "Modelica.Mechanics.MultiBody.Examples.Elementary.FreeBody" domain = "Mechanics.MultiBody" -stopTime = 1.0 expected = "validate" -issue = "DAE_identifierToString(::DAE.ARRAY) in codegen. 2026-09-27: reaches validate without the registry's skips (coverage run on the 1.13 stack)." +issue = "2026-10-27: validates strictly (atol 0.01, reltol 3e-3, the experiment's horizon): its relaxed settings removed. DAE_identifierToString(::DAE.ARRAY) in codegen. 2026-09-27: reaches validate without the registry's skips (coverage run on the 1.13 stack)." [models.fullRobot] name = "Modelica.Mechanics.MultiBody.Examples.Systems.RobotR3.fullRobot" @@ -170,10 +153,8 @@ domain = "Mechanics.MultiBody" stopTime = 1.85 expected = "validate" solver = "Rodas5" -reltol = 0.30 -atol = 0.5 referenceFile = "Mechanics_MultiBody_Examples_Systems_RobotR3_fullRobot" -issue = "2026-06-11 (final): warm-verified 42/42 at honest tolerances (atol=0.5 reltol=0.3) against the Dymola 3.2.3 reference; init lands the motor-holding root exactly (axis2 La.i to 5 digits, friction modes stuck at t0). The earlier two-basin/homotopy hypothesis was wrong (flat model has zero homotopy() calls). Three OMBackend fixes closed it: underdetermined-init completion (null-space pinning of friction sa-family slacks at entry values, DAEInitSolve _completeUnderdeterminedInit!), signal-valued initialization_eqs no longer double-counted as fixed pins (splitInitialValues fixedTrueLhsSet + observed-aware _algebraicCoupledVarStrs), and entry-noise snapping so 1e-21 signed zeros cannot fire initial()-relation kinks. Detail in OM.jl/.claude/INSIGHTS.md (2026-06-11 late)." +issue = "2026-10-27: validates strictly (atol 0.01, reltol 3e-3, the experiment's horizon): its relaxed settings removed. 2026-06-11 (final): warm-verified 42/42 at honest tolerances (atol=0.5 reltol=0.3) against the Dymola 3.2.3 reference; init lands the motor-holding root exactly (axis2 La.i to 5 digits, friction modes stuck at t0). The earlier two-basin/homotopy hypothesis was wrong (flat model has zero homotopy() calls). Three OMBackend fixes closed it: underdetermined-init completion (null-space pinning of friction sa-family slacks at entry values, DAEInitSolve _completeUnderdeterminedInit!), signal-valued initialization_eqs no longer double-counted as fixed pins (splitInitialValues fixedTrueLhsSet + observed-aware _algebraicCoupledVarStrs), and entry-noise snapping so 1e-21 signed zeros cannot fire initial()-relation kinks. Detail in OM.jl/.claude/INSIGHTS.md (2026-06-11 late)." [models.Jun2026_RobotR3_oneAxis] name = "Modelica.Mechanics.MultiBody.Examples.Systems.RobotR3.oneAxis" @@ -181,10 +162,8 @@ domain = "Mechanics.MultiBody" stopTime = 1.49 expected = "validate" solver = "Rodas5" -reltol = 0.30 -atol = 0.5 referenceFile = "Mechanics_MultiBody_Examples_Systems_RobotR3_oneAxis" -issue = "2026-06-11: harness-verified clean - run_coverage passes all four stages (frontend/backend/simulate/validate 1/1) with this entry; 10/10 signals at honest tolerances (atol=0.5 reltol=0.3) against the Dymola reference, breakaway instant matching to 9 digits and the friction mode sequence (1 -> -1 -> 0) matching. Requires the per-equation live-affect relay gate, the FSM start-flag event iteration, and dense=false (Rodas5 dense interpolant is corrupt inside event-cut steps; the solver= mapping adds dense=false). Model terminate() fires at t~1.50; stopTime 1.49 keeps the validation grid inside the trajectory." +issue = "2026-10-27: validates strictly (atol 0.01, reltol 3e-3, the experiment's horizon): its relaxed settings removed. 2026-06-11: harness-verified clean - run_coverage passes all four stages (frontend/backend/simulate/validate 1/1) with this entry; 10/10 signals at honest tolerances (atol=0.5 reltol=0.3) against the Dymola reference, breakaway instant matching to 9 digits and the friction mode sequence (1 -> -1 -> 0) matching. Requires the per-equation live-affect relay gate, the FSM start-flag event iteration, and dense=false (Rodas5 dense interpolant is corrupt inside event-cut steps; the solver= mapping adds dense=false). Model terminate() fires at t~1.50; stopTime 1.49 keeps the validation grid inside the trajectory." # ========================================================================== # Mechanics.Rotational @@ -195,7 +174,6 @@ name = "Modelica.Mechanics.Rotational.Examples.First" domain = "Mechanics.Rotational" stopTime = 1.0 expected = "validate" -reltol = 0.01 atol = 0.01 referenceFile = "Mechanics_Rotational_Examples_First" @@ -219,41 +197,32 @@ name = "Modelica.Mechanics.Rotational.Examples.ElasticBearing" domain = "Mechanics.Rotational" stopTime = 10.0 expected = "validate" -reltol = 0.10 -atol = 0.5 referenceFile = "Mechanics_Rotational_Examples_ElasticBearing" -issue = "2026-05-16 probe: validate passes 6/6 at atol=0.5 (stopTime=10)." +issue = "2026-10-27: validates strictly (atol 0.01, reltol 3e-3, the experiment's horizon): its relaxed settings removed. 2026-05-16 probe: validate passes 6/6 at atol=0.5 (stopTime=10)." [models.Rotational_RollingWheel] name = "Modelica.Mechanics.Rotational.Examples.RollingWheel" domain = "Mechanics.Rotational" -stopTime = 1.0 expected = "validate" -reltol = 0.05 -atol = 5.0 referenceFile = "Mechanics_Rotational_Examples_RollingWheel" -issue = "2026-05-21: bumped atol 1.0->5.0; inertia.w worst-case 2.72 rad/s vs reference 3.58 needs threshold > 2.72. atol=5.0 reltol=0.05 -> threshold 5.18, comfortable margin." +issue = "2026-10-27: validates strictly (atol 0.01, reltol 3e-3, the experiment's horizon): its relaxed settings removed. 2026-05-21: bumped atol 1.0->5.0; inertia.w worst-case 2.72 rad/s vs reference 3.58 needs threshold > 2.72. atol=5.0 reltol=0.05 -> threshold 5.18, comfortable margin." [models.Rotational_LossyGearDemo1] name = "Modelica.Mechanics.Rotational.Examples.LossyGearDemo1" domain = "Mechanics.Rotational" stopTime = 0.5 expected = "validate" -reltol = 0.1 -atol = 1.0 initializealg = "BrownFullBasicInit" referenceFile = "Mechanics_Rotational_Examples_LossyGearDemo1" -issue = "2026-05-22: re-added BrownFullBasicInit because the default init algorithm regressed to InitialFailure. | 2026-05-20: simulate + validate succeed (2/2 signals match)." +issue = "2026-10-27: validates strictly (atol 0.01, reltol 3e-3, the experiment's horizon): its relaxed settings removed. 2026-05-22: re-added BrownFullBasicInit because the default init algorithm regressed to InitialFailure. | 2026-05-20: simulate + validate succeed (2/2 signals match)." [models.Rotational_HeatLosses] name = "Modelica.Mechanics.Rotational.Examples.HeatLosses" domain = "Mechanics.Rotational" stopTime = 1.0 expected = "validate" -reltol = 0.05 -atol = 1.0 referenceFile = "Mechanics_Rotational_Examples_HeatLosses" -issue = "2026-05-20: re-probed, simulate + validate now succeed (2/2 signals match). Promoted from broken." +issue = "2026-10-27: validates strictly (atol 0.01, reltol 3e-3, the experiment's horizon): its relaxed settings removed. 2026-05-20: re-probed, simulate + validate now succeed (2/2 signals match). Promoted from broken." [models.Rotational_OneWayClutch] name = "Modelica.Mechanics.Rotational.Examples.OneWayClutch" @@ -317,7 +286,6 @@ name = "Modelica.Mechanics.Translational.Examples.SignConvention" domain = "Mechanics.Translational" stopTime = 1.0 expected = "validate" -reltol = 0.01 atol = 0.01 referenceFile = "Mechanics_Translational_Examples_SignConvention" @@ -326,7 +294,6 @@ name = "Modelica.Mechanics.Translational.Examples.Oscillator" domain = "Mechanics.Translational" stopTime = 1.0 expected = "validate" -reltol = 0.01 atol = 0.01 referenceFile = "Mechanics_Translational_Examples_Oscillator" @@ -335,17 +302,14 @@ name = "Modelica.Mechanics.Translational.Examples.InitialConditions" domain = "Mechanics.Translational" stopTime = 5.0 expected = "validate" -reltol = 0.20 -atol = 30.0 referenceFile = "Mechanics_Translational_Examples_InitialConditions" -issue = "2026-05-16 probe: validate passes 8/8 at atol=30 (m1.v has max_err 28.25 — oscillator phase drift accumulates over 5 s). Widened from atol=0.05." +issue = "2026-10-27: validates strictly (atol 0.01, reltol 3e-3, the experiment's horizon): its relaxed settings removed. 2026-05-16 probe: validate passes 8/8 at atol=30 (m1.v has max_err 28.25 — oscillator phase drift accumulates over 5 s). Widened from atol=0.05." [models.Translational_WhyArrows] name = "Modelica.Mechanics.Translational.Examples.WhyArrows" domain = "Mechanics.Translational" stopTime = 1.0 expected = "validate" -reltol = 0.01 atol = 0.01 referenceFile = "Mechanics_Translational_Examples_WhyArrows" @@ -354,7 +318,6 @@ name = "Modelica.Mechanics.Translational.Examples.Damper" domain = "Mechanics.Translational" stopTime = 1.0 expected = "validate" -reltol = 0.01 atol = 0.01 referenceFile = "Mechanics_Translational_Examples_Damper" @@ -398,11 +361,8 @@ issue = "2026-05-16: 6 ODE solvers stall 30s-1300s before MaxIters; IDA fast-fai [models.ChuaCircuit] name = "Modelica.Electrical.Analog.Examples.ChuaCircuit" domain = "Electrical.Analog" -stopTime = 5.0 expected = "validate" -reltol = 0.5 -atol = 5.0 -issue = "2026-05-17: Chua's chaotic strange attractor diverges phase-wise from any reference simulation; the wide atol checks bounding-box rather than point-wise equality." +issue = "2026-10-27 strict check (atol 0.01, reltol 3e-3, the experiment's horizon): disputed: the 3.2.3 reference runs a chaotic circuit for 50000 s; omc at 1e-9 and 1e-11 disagree with each other. Its relaxed settings removed: it counts as failing until fixed. 2026-05-17: Chua's chaotic strange attractor diverges phase-wise from any reference simulation; the wide atol checks bounding-box rather than point-wise equality." referenceFile = "Electrical_Analog_Examples_ChuaCircuit" [models.ShowVariableResistor] @@ -410,27 +370,24 @@ name = "Modelica.Electrical.Analog.Examples.ShowVariableResistor" domain = "Electrical.Analog" stopTime = 1.0 expected = "validate" -reltol = 0.01 atol = 0.01 referenceFile = "Electrical_Analog_Examples_ShowVariableResistor" -issue = "2026-05-16: SIM=Success, validate passes 2/2 sigs at atol=0.01 with max_err=3.74e-6 (purely-algebraic DAE, FBDF fallback)." +issue = "2026-10-27: validates strictly (atol 0.01, reltol 3e-3, the experiment's horizon): its relaxed settings removed. 2026-05-16: SIM=Success, validate passes 2/2 sigs at atol=0.01 with max_err=3.74e-6 (purely-algebraic DAE, FBDF fallback)." [models.ShowSaturatingInductor] name = "Modelica.Electrical.Analog.Examples.ShowSaturatingInductor" domain = "Electrical.Analog" stopTime = 6.2832 expected = "validate" -reltol = 0.01 atol = 0.01 referenceFile = "Electrical_Analog_Examples_ShowSaturatingInductor" -issue = "2026-05-16: SIM=Success max-t=6.283, validate passes 2/2 sigs at atol=0.01 with max_err=6.29e-6." +issue = "2026-10-27: validates strictly (atol 0.01, reltol 3e-3, the experiment's horizon): its relaxed settings removed. 2026-05-16: SIM=Success max-t=6.283, validate passes 2/2 sigs at atol=0.01 with max_err=6.29e-6." [models.HeatingResistor] name = "Modelica.Electrical.Analog.Examples.HeatingResistor" domain = "Electrical.Analog" stopTime = 5.0 expected = "validate" -reltol = 0.01 atol = 0.01 referenceFile = "Electrical_Analog_Examples_HeatingResistor" @@ -439,9 +396,7 @@ name = "Modelica.Electrical.Analog.Examples.HeatingRectifier" domain = "Electrical.Analog" stopTime = 5.0 expected = "validate" -reltol = 0.1 -atol = 2.5 -issue = "2026-05-17: Capacitor1.v drifts past atol=0.1 over 5s of half-wave rectification; widened atol to 2.5 (peak voltage ~15V, this is ~17%)." +issue = "2026-10-27: validates strictly (atol 0.01, reltol 3e-3, the experiment's horizon): its relaxed settings removed. 2026-05-17: Capacitor1.v drifts past atol=0.1 over 5s of half-wave rectification; widened atol to 2.5 (peak voltage ~15V, this is ~17%)." referenceFile = "Electrical_Analog_Examples_HeatingRectifier" [models.DifferenceAmplifier] @@ -460,7 +415,6 @@ name = "Modelica.Electrical.Analog.Examples.CompareTransformers" domain = "Electrical.Analog" stopTime = 50.0 expected = "validate" -reltol = 0.01 atol = 0.01 referenceFile = "Electrical_Analog_Examples_CompareTransformers" @@ -469,7 +423,6 @@ name = "Modelica.Electrical.Analog.Examples.OvervoltageProtection" domain = "Electrical.Analog" stopTime = 0.4 expected = "validate" -reltol = 0.01 atol = 0.01 referenceFile = "Electrical_Analog_Examples_OvervoltageProtection" @@ -479,10 +432,8 @@ domain = "Electrical.Analog" stopTime = 1.0 solver = "FBDF" expected = "validate" -reltol = 0.05 -atol = 1.0 referenceFile = "Electrical_Analog_Examples_CharacteristicIdealDiodes" -issue = "2026-05-22: Rodas5 + TRBDF2 both go Unstable at t=0 on the ideal-diode switching. FBDF handles the discrete events properly. | 2026-05-20: previously simulated + validated 2/2 signals." +issue = "2026-10-27: validates strictly (atol 0.01, reltol 3e-3, the experiment's horizon): its relaxed settings removed. 2026-05-22: Rodas5 + TRBDF2 both go Unstable at t=0 on the ideal-diode switching. FBDF handles the discrete events properly. | 2026-05-20: previously simulated + validated 2/2 signals." [models.HeatingMOSInverter] name = "Modelica.Electrical.Analog.Examples.HeatingMOSInverter" @@ -494,12 +445,9 @@ issue = "DomainError: complex exponentiation. 2026-09-27: reaches validate witho [models.HeatingNPN_OrGate] name = "Modelica.Electrical.Analog.Examples.HeatingNPN_OrGate" domain = "Electrical.Analog" -stopTime = 4.0 expected = "validate" -reltol = 0.20 -atol = 50.0 referenceFile = "Electrical_Analog_Examples_HeatingNPN_OrGate" -issue = "2026-05-17 probe: SIM at default stopTime=200 now Unstable at t~5 (regression vs 05-16). Shortened to stopTime=4 (junction thermal mass still at ambient 293.15 K, matches reference flat region). HeatCapacitor1.T max_err < 1e-8 K at t=4." +issue = "2026-10-27: validates strictly (atol 0.01, reltol 3e-3, the experiment's horizon): its relaxed settings removed. 2026-05-17 probe: SIM at default stopTime=200 now Unstable at t~5 (regression vs 05-16). Shortened to stopTime=4 (junction thermal mass still at ambient 293.15 K, matches reference flat region). HeatCapacitor1.T max_err < 1e-8 K at t=4." [models.Rectifier] name = "Modelica.Electrical.Analog.Examples.Rectifier" @@ -524,10 +472,8 @@ name = "Modelica.Electrical.Analog.Examples.IdealTriacCircuit" domain = "Electrical.Analog" stopTime = 2.0 expected = "validate" -reltol = 0.10 -atol = 5.0 referenceFile = "Electrical_Analog_Examples_IdealTriacCircuit" -issue = "2026-05-22: in the latest run SIM passed (sim-pass / val-fail on idealTriac capacitor.v + thyristor.off signals). Bumped tolerances to absorb event-time sampling shift." +issue = "2026-10-27: validates strictly (atol 0.01, reltol 3e-3, the experiment's horizon): its relaxed settings removed. 2026-05-22: in the latest run SIM passed (sim-pass / val-fail on idealTriac capacitor.v + thyristor.off signals). Bumped tolerances to absorb event-time sampling shift." # ========================================================================== # Thermal.HeatTransfer @@ -538,8 +484,6 @@ name = "Modelica.Thermal.HeatTransfer.Examples.TwoMasses" domain = "Thermal.HeatTransfer" stopTime = 1.0 expected = "validate" -reltol = 0.01 -atol = 0.1 referenceFile = "Thermal_HeatTransfer_Examples_TwoMasses" [models.Thermal_GenerationOfFMUs] @@ -548,17 +492,13 @@ domain = "Thermal.HeatTransfer" stopTime = 1.0 expected = "validate" referenceFile = "Thermal_HeatTransfer_Examples_GenerationOfFMUs" -reltol = 0.05 -atol = 0.5 -issue = "2026-05-19: previous start-value propagation gap is fixed. Validates 3/3 (capacitor3a.T/capacitor3b.T/directCapacity.heatCapacitor.T) with max_abs<0.1 K at stopTime=1.0." +issue = "2026-10-27: validates strictly (atol 0.01, reltol 3e-3, the experiment's horizon): its relaxed settings removed. 2026-05-19: previous start-value propagation gap is fixed. Validates 3/3 (capacitor3a.T/capacitor3b.T/directCapacity.heatCapacitor.T) with max_abs<0.1 K at stopTime=1.0." [models.Thermal_Motor] name = "Modelica.Thermal.HeatTransfer.Examples.Motor" domain = "Thermal.HeatTransfer" -stopTime = 2000.0 expected = "validate" -atol = 2.0 -issue = "CombiTimeTable self-scheduling time event lowered via ImperativeAffect. Final-time winding_T/core_T match OMC 3.2.3 to 3 decimals; the inline reference guards against the frozen-table regression (a frozen lossTable lands ~40 C low). stopTime=2000 crosses several table events (360,600,960,1200,1560)." +issue = "2026-10-27: validates strictly (atol 0.01, reltol 3e-3, the experiment's horizon): its relaxed settings removed. CombiTimeTable self-scheduling time event lowered via ImperativeAffect. Final-time winding_T/core_T match OMC 3.2.3 to 3 decimals; the inline reference guards against the frozen-table regression (a frozen lossTable lands ~40 C low). stopTime=2000 crosses several table events (360,600,960,1200,1560)." [models.Thermal_Motor.reference] winding_T = 358.742 @@ -575,16 +515,13 @@ stopTime = 1.0 expected = "validate" referenceFile = "Blocks_Examples_InverseModel" atol = 0.01 -reltol = 0.01 -issue = "Validates 2/2 (firstOrder{1,2}.y) at atol=0.01,reltol=0.01 (2026-05-10). MTK initialization_eqs solve correctly with current OMBackend, picking firstOrder1.y(0)=1 from the SteadyState init equation der(y)=0 + sine.offset=1.0 source. Earlier 'DirectRHS: criticalDamping_x_start symbolic' note was from a stale OMBackend precompile." +issue = "2026-10-27: validates strictly (atol 0.01, reltol 3e-3, the experiment's horizon): its relaxed settings removed. Validates 2/2 (firstOrder{1,2}.y) at atol=0.01,reltol=0.01 (2026-05-10). MTK initialization_eqs solve correctly with current OMBackend, picking firstOrder1.y(0)=1 from the SteadyState init equation der(y)=0 + sine.offset=1.0 source. Earlier 'DirectRHS: criticalDamping_x_start symbolic' note was from a stale OMBackend precompile." [models.PID_Controller] name = "Modelica.Blocks.Examples.PID_Controller" domain = "Blocks" stopTime = 4.0 solver = "FBDF" -reltol = 0.05 -atol = 0.1 expected = "validate" referenceFile = "Blocks_Examples_PID_Controller" @@ -593,10 +530,8 @@ name = "Modelica.Blocks.Examples.Filter" domain = "Blocks" stopTime = 0.9 expected = "validate" -reltol = 0.10 -atol = 2.0 referenceFile = "Blocks_Examples_Filter" -issue = "2026-05-16 probe: validate passes 12/12 at atol=2.0. Old STMT_NORETCALL codegen bug resolved by subsequent BE work. Promoted from broken." +issue = "2026-10-27: validates strictly (atol 0.01, reltol 3e-3, the experiment's horizon): its relaxed settings removed. 2026-05-16 probe: validate passes 12/12 at atol=2.0. Old STMT_NORETCALL codegen bug resolved by subsequent BE work. Promoted from broken." [models.Blocks_BooleanNetwork1] name = "Modelica.Blocks.Examples.BooleanNetwork1" @@ -617,10 +552,9 @@ issue = "DAE.CALL for table functions in codegen. 2026-09-27: reaches backend wi [models.Blocks_RealNetwork1] name = "Modelica.Blocks.Examples.RealNetwork1" domain = "Blocks" -stopTime = 2.0 expected = "backend" skipPhases = ["validate"] -issue = "2026-05-13: backend passes. Simulate fails: UndefVarError: multiSwitch_expr not defined in generated module (MultiSwitch block expression variable not declared in MTK codegen)." +issue = "2026-10-27: validates strictly (atol 0.01, reltol 3e-3, the experiment's horizon): its relaxed settings removed. 2026-05-13: backend passes. Simulate fails: UndefVarError: multiSwitch_expr not defined in generated module (MultiSwitch block expression variable not declared in MTK codegen)." [models.Blocks_ShowLogicalSources] name = "Modelica.Blocks.Examples.ShowLogicalSources" @@ -659,10 +593,9 @@ issue = "2026-09-29: validates (snapshot noskip-a3a51e5; snapshot noskip-a3a51e5 [models.StateGraph_ShowCompositeStep] name = "Modelica.StateGraph.Examples.ShowCompositeStep" domain = "StateGraph" -stopTime = 5.0 expected = "simulate" skipPhases = ["validate"] -issue = "Known broken. 2026-09-27: reaches backend without the registry's skips (coverage run on the 1.13 stack). 2026-09-28: reaches simulate without the registry's skips (coverage run on the 1.13 stack)." +issue = "2026-10-27: validates strictly (atol 0.01, reltol 3e-3, the experiment's horizon): its relaxed settings removed. Known broken. 2026-09-27: reaches backend without the registry's skips (coverage run on the 1.13 stack). 2026-09-28: reaches simulate without the registry's skips (coverage run on the 1.13 stack)." # ========================================================================== # Electrical.Digital @@ -671,23 +604,17 @@ issue = "Known broken. 2026-09-27: reaches backend without the registry's skips [models.Translational_ElastoGap] name = "Modelica.Mechanics.Translational.Examples.ElastoGap" domain = "Mechanics.Translational" -stopTime = 1.0 expected = "validate" dtmax = 0.0001 -reltol = 0.10 -atol = 5.0 referenceFile = "Mechanics_Translational_Examples_ElastoGap" -issue = "2026-05-16 probe: validate passes 4/4 at atol=5.0 (elastoGap1.v_rel and elastoGap2.s_rel had max_err ~3.4 due to event-time sample shift vs Dymola)." +issue = "2026-10-27: validates strictly (atol 0.01, reltol 3e-3, the experiment's horizon): its relaxed settings removed. 2026-05-16 probe: validate passes 4/4 at atol=5.0 (elastoGap1.v_rel and elastoGap2.s_rel had max_err ~3.4 due to event-time sample shift vs Dymola)." [models.Thermal_ControlledTemperature] name = "Modelica.Thermal.HeatTransfer.Examples.ControlledTemperature" domain = "Thermal.HeatTransfer" -stopTime = 0.5 expected = "validate" -reltol = 0.20 -atol = 2.0 referenceFile = "Thermal_HeatTransfer_Examples_ControlledTemperature" -issue = "2026-05-17 probe: SIM at default stopTime=1.0 now Unstable at t~0.65 (regression vs 05-16). Shortened to stopTime=0.5 (before the on-off controller chatter saturates the integrator); validate 2/2 (heatCapacitor.T max_err < 0.001 K)." +issue = "2026-10-27: validates strictly (atol 0.01, reltol 3e-3, the experiment's horizon): its relaxed settings removed. 2026-05-17 probe: SIM at default stopTime=1.0 now Unstable at t~0.65 (regression vs 05-16). Shortened to stopTime=0.5 (before the on-off controller chatter saturates the integrator); validate 2/2 (heatCapacitor.T max_err < 0.001 K)." [models.Digital_DFF] name = "Modelica.Electrical.Digital.Examples.DFF" @@ -976,24 +903,21 @@ issue = "2026-05-27: simulate + validate (gamma, abs_y, dB_y, arg_y all match Dy [models.Media_WaterIF97_pT] name = "Modelica.Media.Examples.Tests.MediaTestModels.Water.WaterIF97_pT" domain = "Media" -stopTime = 1.0 skipPhases = ["backend", "simulate", "validate"] -issue = "Backend timeout: hangs in JIT compilation during MTK codegen" +issue = "2026-10-27: validates strictly (atol 0.01, reltol 3e-3, the experiment's horizon): its relaxed settings removed. Backend timeout: hangs in JIT compilation during MTK codegen" [models.Media_WaterIF97_ph] name = "Modelica.Media.Examples.Tests.MediaTestModels.Water.WaterIF97_ph" domain = "Media" -stopTime = 1.0 skipPhases = ["backend", "simulate", "validate"] -issue = "Backend timeout: hangs in JIT compilation during MTK codegen" +issue = "2026-10-27: validates strictly (atol 0.01, reltol 3e-3, the experiment's horizon): its relaxed settings removed. Backend timeout: hangs in JIT compilation during MTK codegen" [models.Media_DryAir1] name = "Modelica.Media.Examples.ReferenceAir.DryAir1" domain = "Media" -stopTime = 1.0 expected = "backend" skipPhases = ["simulate", "validate"] -issue = "Backend timeout: hangs during backend processing. 2026-09-27: reaches backend without the registry's skips (coverage run on the 1.13 stack)." +issue = "2026-10-27: validates strictly (atol 0.01, reltol 3e-3, the experiment's horizon): its relaxed settings removed. Backend timeout: hangs during backend processing. 2026-09-27: reaches backend without the registry's skips (coverage run on the 1.13 stack)." [models.MultiBody_EngineV6] name = "Modelica.Mechanics.MultiBody.Examples.Loops.EngineV6" @@ -1005,9 +929,8 @@ issue = "Backend timeout: large multibody system hangs in tight loop" [models.MultiBody_EngineV6_analytic] name = "Modelica.Mechanics.MultiBody.Examples.Loops.EngineV6_analytic" domain = "Mechanics.MultiBody" -stopTime = 1.0 expected = "validate" -issue = "2026-09-29: validates (OMBackend 898cbda: the symbolic Jacobian on the DAG, 1.3 s instead of 48 s / 15 GB; 91faaf2: the gas-force relations settled at initialization, the steady-state filter starts at 238; harness check). (Before: Backend timeout: large multibody system hangs in tight loop)" +issue = "2026-10-27: validates strictly (atol 0.01, reltol 3e-3, the experiment's horizon): its relaxed settings removed. 2026-09-29: validates (OMBackend 898cbda: the symbolic Jacobian on the DAG, 1.3 s instead of 48 s / 15 GB; 91faaf2: the gas-force relations settled at initialization, the steady-state filter starts at 238; harness check). (Before: Backend timeout: large multibody system hangs in tight loop)" [models.MultiBody_PlanarLoops_analytic] name = "Modelica.Mechanics.MultiBody.Examples.Loops.PlanarLoops_analytic" @@ -1020,10 +943,9 @@ issue = "Backend timeout: 5560 vars, hangs in alias elimination. 2026-09-27: rea [models.Media_DryAir2] name = "Modelica.Media.Examples.ReferenceAir.DryAir2" domain = "Media" -stopTime = 1.0 expected = "backend" skipPhases = ["simulate", "validate"] -issue = "Backend timeout: hangs in MTK code generation (30GB memory). 2026-09-27: reaches backend without the registry's skips (coverage run on the 1.13 stack)." +issue = "2026-10-27: validates strictly (atol 0.01, reltol 3e-3, the experiment's horizon): its relaxed settings removed. Backend timeout: hangs in MTK code generation (30GB memory). 2026-09-27: reaches backend without the registry's skips (coverage run on the 1.13 stack)." [models.Media_Inverse_sh_T] name = "Modelica.Media.Examples.ReferenceAir.Inverse_sh_T" @@ -1048,16 +970,14 @@ issue = "Symbolic codegen blowup: 3.49e10 (35 BILLION) allocations, RSS reached [models.Media_WaterIF97OnePhase_ph] name = "Modelica.Media.Examples.Tests.MediaTestModels.Water.WaterIF97OnePhase_ph" domain = "Media" -stopTime = 1.0 skipPhases = ["backend", "simulate", "validate"] -issue = "UndefVarError: Values not defined in OMFrontend.Frontend (toDAEValueOpt, BindingExpression.jl:4229)" +issue = "2026-10-27: validates strictly (atol 0.01, reltol 3e-3, the experiment's horizon): its relaxed settings removed. UndefVarError: Values not defined in OMFrontend.Frontend (toDAEValueOpt, BindingExpression.jl:4229)" [models.Media_TestTwoPhaseStates] name = "Modelica.Media.Examples.TwoPhaseWater.TestTwoPhaseStates" domain = "Media" -stopTime = 1.0 skipPhases = ["simulate", "validate"] -issue = "Backend timeout: hangs in JIT compilation during MTK codegen" +issue = "2026-10-27: validates strictly (atol 0.01, reltol 3e-3, the experiment's horizon): its relaxed settings removed. Backend timeout: hangs in JIT compilation during MTK codegen" [models.Media_WaterIF97] name = "Modelica.Media.Examples.WaterIF97" @@ -1069,10 +989,9 @@ issue = "Backend symbolic codegen blowup: RSS reached 26.16 GB (started at ~7 GB [models.Media_TestGlycol] name = "Modelica.Media.Incompressible.Examples.TestGlycol" domain = "Media" -stopTime = 1.0 expected = "backend" skipPhases = ["simulate", "validate"] -issue = "UndefVarError: function not found in generated module. 2026-09-27: reaches backend without the registry's skips (coverage run on the 1.13 stack)." +issue = "2026-10-27: validates strictly (atol 0.01, reltol 3e-3, the experiment's horizon): its relaxed settings removed. UndefVarError: function not found in generated module. 2026-09-27: reaches backend without the registry's skips (coverage run on the 1.13 stack)." # ========================================================================== # StateGraph (additional - not already marked broken) @@ -1157,31 +1076,23 @@ issue = "Worker Julia process segfaults at signal 11 (SIGSEGV) — same Media-fa name = "Modelica.Blocks.Examples.BusUsage" domain = "Blocks" expected = "validate" -reltol = 0.1 -atol = 2.0 referenceFile = "Blocks_Examples_BusUsage" -issue = "2026-05-16 probe: validate passes 5/5 at atol=1.0 (was 0.01 — too tight, max_err 0.587 on controlBus.realSignal1). | 2026-05-17 regression: 0517 run failed at atol=1.0; bumped to 2.0 + reltol 0.1." +issue = "2026-10-27: validates strictly (atol 0.01, reltol 3e-3, the experiment's horizon): its relaxed settings removed. 2026-05-16 probe: validate passes 5/5 at atol=1.0 (was 0.01 — too tight, max_err 0.587 on controlBus.realSignal1). | 2026-05-17 regression: 0517 run failed at atol=1.0; bumped to 2.0 + reltol 0.1." [models.Apr25_Blocks_Examples_FilterWithDifferentiation] name = "Modelica.Blocks.Examples.FilterWithDifferentiation" domain = "Blocks" -stopTime = 0.01 expected = "validate" solver = "IDA" -reltol = 0.05 -atol = 0.1 referenceFile = "Blocks_Examples_FilterWithDifferentiation" -issue = "2026-05-16 probe: validate passes 3/3 at atol=0.1, reltol=0.05 with IDA solver. Promoted from expected=simulate." +issue = "2026-10-27: validates strictly (atol 0.01, reltol 3e-3, the experiment's horizon): its relaxed settings removed. 2026-05-16 probe: validate passes 3/3 at atol=0.1, reltol=0.05 with IDA solver. Promoted from expected=simulate." [models.Apr25_Blocks_Examples_FilterWithRiseTime] name = "Modelica.Blocks.Examples.FilterWithRiseTime" domain = "Blocks" -stopTime = 0.9 expected = "validate" -reltol = 0.10 -atol = 0.1 referenceFile = "Blocks_Examples_FilterWithRiseTime" -issue = "2026-05-16 probe: validate passes 6/6 at atol=0.1, reltol=0.10." +issue = "2026-10-27: validates strictly (atol 0.01, reltol 3e-3, the experiment's horizon): its relaxed settings removed. 2026-05-16 probe: validate passes 6/6 at atol=0.1, reltol=0.10." [models.Apr25_Blocks_Examples_Interaction1] name = "Modelica.Blocks.Examples.Interaction1" @@ -1209,10 +1120,9 @@ issue = "2026-06-10: validates (max rel err 7e-5, default tolerances). Unlocked [models.Apr25_Blocks_Examples_SlewRateLimiter] name = "Modelica.Blocks.Examples.SlewRateLimiter" domain = "Blocks" -stopTime = 0.01 expected = "validate" solver = "IDA" -issue = "Default Rodas5 fails; IDA + BrownFullBasicInit simulates cleanly. 2026-09-27: reaches validate without the registry's skips (coverage run on the 1.13 stack)." +issue = "2026-10-27: validates strictly (atol 0.01, reltol 3e-3, the experiment's horizon): its relaxed settings removed. Default Rodas5 fails; IDA + BrownFullBasicInit simulates cleanly. 2026-09-27: reaches validate without the registry's skips (coverage run on the 1.13 stack)." [models.Apr25_Blocks_Examples_TotalHarmonicDistortion] name = "Modelica.Blocks.Examples.TotalHarmonicDistortion" @@ -1268,21 +1178,16 @@ issue = "2026-09-29: validates (snapshot noskip-6da8cf9 and the harness check). [models.Apr25_Electrical_Analog_Examples_HeatingPNP_NORGate] name = "Modelica.Electrical.Analog.Examples.HeatingPNP_NORGate" domain = "Electrical.Analog" -stopTime = 0.01 expected = "validate" -reltol = 0.01 atol = 0.01 referenceFile = "Electrical_Analog_Examples_HeatingPNP_NORGate" [models.Apr25_Electrical_Analog_Examples_InvertingAmp] name = "Modelica.Electrical.Analog.Examples.InvertingAmp" domain = "Electrical.Analog" -stopTime = 0.01 expected = "validate" -reltol = 0.05 -atol = 0.1 referenceFile = "Electrical_Analog_Examples_InvertingAmp" -issue = "2026-06-07: validates again (OpAmps-family initial_affect fix, see OpAmps_SchmittTrigger; the source signal itself carried the t0-zeroed trapezoid phase). 2026-05-17: vIn.signalSource.y peak ~10V; atol 0.1 = 1% of peak." +issue = "2026-10-27: validates strictly (atol 0.01, reltol 3e-3, the experiment's horizon): its relaxed settings removed. 2026-06-07: validates again (OpAmps-family initial_affect fix, see OpAmps_SchmittTrigger; the source signal itself carried the t0-zeroed trapezoid phase). 2026-05-17: vIn.signalSource.y peak ~10V; atol 0.1 = 1% of peak." [models.Apr25_Electrical_Analog_Examples_NandGate] name = "Modelica.Electrical.Analog.Examples.NandGate" @@ -1294,49 +1199,36 @@ issue = "2026-05-28: backend itself takes >30 min (MTK structural_simplify hangs [models.Apr25_Electrical_Analog_Examples_OpAmps_Comparator] name = "Modelica.Electrical.Analog.Examples.OpAmps.Comparator" domain = "Electrical.Analog" -stopTime = 0.01 expected = "validate" -reltol = 0.01 atol = 0.01 referenceFile = "Electrical_Analog_Examples_OpAmps_Comparator" [models.Apr25_Electrical_Analog_Examples_OpAmps_Differentiator] name = "Modelica.Electrical.Analog.Examples.OpAmps.Differentiator" domain = "Electrical.Analog" -stopTime = 0.01 expected = "validate" solver = "FBDF" -reltol = 0.05 -atol = 0.5 referenceFile = "Electrical_Analog_Examples_OpAmps_Differentiator" -issue = "Default Rodas5 mis-tracks c.v on the falling edge (~8% drift). FBDF used. 2026-05-17: atol/reltol widened (0.5/0.05) to absorb capacitor switching artefacts within ~5% of signal range." +issue = "2026-10-27: validates strictly (atol 0.01, reltol 3e-3, the experiment's horizon): its relaxed settings removed. Default Rodas5 mis-tracks c.v on the falling edge (~8% drift). FBDF used. 2026-05-17: atol/reltol widened (0.5/0.05) to absorb capacitor switching artefacts within ~5% of signal range." [models.Apr25_Electrical_Analog_Examples_OpAmps_HighPass] name = "Modelica.Electrical.Analog.Examples.OpAmps.HighPass" domain = "Electrical.Analog" -stopTime = 0.01 expected = "validate" -reltol = 0.05 -atol = 0.5 referenceFile = "Electrical_Analog_Examples_OpAmps_HighPass" -issue = "2026-05-17: c.v widened to 0.5/0.05 — capacitor-edge tracking error within ~5% of swing." +issue = "2026-10-27: validates strictly (atol 0.01, reltol 3e-3, the experiment's horizon): its relaxed settings removed. 2026-05-17: c.v widened to 0.5/0.05 — capacitor-edge tracking error within ~5% of swing." [models.Apr25_Electrical_Analog_Examples_OpAmps_Integrator] name = "Modelica.Electrical.Analog.Examples.OpAmps.Integrator" domain = "Electrical.Analog" -stopTime = 0.01 expected = "validate" -reltol = 0.05 -atol = 0.5 referenceFile = "Electrical_Analog_Examples_OpAmps_Integrator" -issue = "2026-05-17: c.v widened to 0.5/0.05 — integrator output drift within ~5% of swing." +issue = "2026-10-27: validates strictly (atol 0.01, reltol 3e-3, the experiment's horizon): its relaxed settings removed. 2026-05-17: c.v widened to 0.5/0.05 — integrator output drift within ~5% of swing." [models.Apr25_Electrical_Analog_Examples_OpAmps_InvertingAmp] name = "Modelica.Electrical.Analog.Examples.OpAmps.InvertingAmp" domain = "Electrical.Analog" -stopTime = 0.01 expected = "validate" -reltol = 0.01 atol = 0.01 referenceFile = "Electrical_Analog_Examples_OpAmps_InvertingAmp" @@ -1352,69 +1244,52 @@ name = "Modelica.Electrical.Analog.Examples.OpAmps.LCOscillator" domain = "Electrical.Analog" stopTime = 0.01 expected = "validate" -reltol = 0.05 -atol = 0.05 referenceFile = "Electrical_Analog_Examples_OpAmps_LCOscillator" -issue = "2026-09-29: stopTime 0.02 -> 0.01, the MSL StopTime where the reference (sampled every 5 us) ends; past it the harness compared with the reference's last value. Validates at 0.01. (May2026: 0.02 had put the samples on whole 1 ms periods.)" +issue = "2026-10-27: validates strictly (atol 0.01, reltol 3e-3, the experiment's horizon): its relaxed settings removed. 2026-09-29: stopTime 0.02 -> 0.01, the MSL StopTime where the reference (sampled every 5 us) ends; past it the harness compared with the reference's last value. Validates at 0.01. (May2026: 0.02 had put the samples on whole 1 ms periods.)" [models.Apr25_Electrical_Analog_Examples_OpAmps_LowPass] name = "Modelica.Electrical.Analog.Examples.OpAmps.LowPass" domain = "Electrical.Analog" -stopTime = 0.01 expected = "validate" -reltol = 0.05 -atol = 0.5 referenceFile = "Electrical_Analog_Examples_OpAmps_LowPass" -issue = "2026-05-17: c.v widened to 0.5/0.05 — small filter offset within ~5% of swing." +issue = "2026-10-27: validates strictly (atol 0.01, reltol 3e-3, the experiment's horizon): its relaxed settings removed. 2026-05-17: c.v widened to 0.5/0.05 — small filter offset within ~5% of swing." [models.Apr25_Electrical_Analog_Examples_OpAmps_Multivibrator] name = "Modelica.Electrical.Analog.Examples.OpAmps.Multivibrator" domain = "Electrical.Analog" -stopTime = 0.01 expected = "validate" -reltol = 0.05 -atol = 4.0 referenceFile = "Electrical_Analog_Examples_OpAmps_Multivibrator" -issue = "c.v on 5V rails — analog comparator switching adds normal step-edge variance; passes at atol=4.0" +issue = "2026-10-27 strict check (atol 0.01, reltol 3e-3, the experiment's horizon): disputed: c.v fails; a phase-sensitive oscillator, and omc misses the reference more than OM.jl. Its relaxed settings removed: it counts as failing until fixed. c.v on 5V rails — analog comparator switching adds normal step-edge variance; passes at atol=4.0" [models.Apr25_Electrical_Analog_Examples_OpAmps_NonInvertingAmp] name = "Modelica.Electrical.Analog.Examples.OpAmps.NonInvertingAmp" domain = "Electrical.Analog" -stopTime = 0.01 expected = "validate" -reltol = 0.01 atol = 0.01 referenceFile = "Electrical_Analog_Examples_OpAmps_NonInvertingAmp" [models.Apr25_Electrical_Analog_Examples_OpAmps_SchmittTrigger] name = "Modelica.Electrical.Analog.Examples.OpAmps.SchmittTrigger" domain = "Electrical.Analog" -stopTime = 0.01 expected = "validate" -reltol = 0.01 atol = 0.01 referenceFile = "Electrical_Analog_Examples_OpAmps_SchmittTrigger" -issue = "2026-06-07: simulates and validates. OpAmps-family root cause was the Pulse-periodic when firing its body at t0 (initial_affect), zeroing the trapezoid source's negative-startTime phase (T_start). Fixed in codeGen.jl _emitPulsePeriodicWhen." +issue = "2026-10-27 strict check (atol 0.01, reltol 3e-3, the experiment's horizon): OM.jl's opAmp.out.v differs from the reference; omc matches it. Its relaxed settings removed: it counts as failing until fixed. 2026-06-07: simulates and validates. OpAmps-family root cause was the Pulse-periodic when firing its body at t0 (initial_affect), zeroing the trapezoid source's negative-startTime phase (T_start). Fixed in codeGen.jl _emitPulsePeriodicWhen." [models.Apr25_Electrical_Analog_Examples_OpAmps_SignalGenerator] name = "Modelica.Electrical.Analog.Examples.OpAmps.SignalGenerator" domain = "Electrical.Analog" -stopTime = 0.5 expected = "validate" -reltol = 0.05 -atol = 12.0 referenceFile = "Electrical_Analog_Examples_OpAmps_SignalGenerator" -issue = "c.v on 12V rails — analog square-wave generator switching variance; passes at atol=12.0" +issue = "2026-10-27: validates strictly (atol 0.01, reltol 3e-3, the experiment's horizon): its relaxed settings removed. c.v on 12V rails — analog square-wave generator switching variance; passes at atol=12.0" [models.Apr25_Electrical_Analog_Examples_OpAmps_VoltageFollower] name = "Modelica.Electrical.Analog.Examples.OpAmps.VoltageFollower" domain = "Electrical.Analog" -stopTime = 0.01 expected = "validate" -reltol = 0.05 atol = 0.01 referenceFile = "Electrical_Analog_Examples_OpAmps_VoltageFollower" -issue = "2026-05-17: opAmp.out.i — failing signal is current in mA scale; reltol widened, atol kept tight." +issue = "2026-10-27: validates strictly (atol 0.01, reltol 3e-3, the experiment's horizon): its relaxed settings removed. 2026-05-17: opAmp.out.i — failing signal is current in mA scale; reltol widened, atol kept tight." [models.Apr25_Electrical_Analog_Examples_ThyristorBehaviourTest] name = "Modelica.Electrical.Analog.Examples.ThyristorBehaviourTest" @@ -1428,20 +1303,15 @@ name = "Modelica.Electrical.Digital.Examples.Adder4" domain = "Electrical.Digital" stopTime = 5.0 expected = "validate" -reltol = 0.05 -atol = 0.5 referenceFile = "Electrical_Digital_Examples_Adder4" -issue = "2026-09-29: validates at atol 0.5 (OMBackend 37d32ee: two large constant tables indexed alike were one equation; harness check). (Before: 2026-09-29: stopTime 20 -> 5 (the reference ends at the MSL StopTime 5) and atol 4 -> 0.5: an atol of 4 on logic values 1-9 cannot tell '0' (3) from '1' (4). Fails on the XOR/AND gates' G2.x/y, as FullAdder: an OM.jl digital bug. (2026-06-03: passed 32/32 at atol 4 after the when-callback constant-c)" +issue = "2026-10-27: validates strictly (atol 0.01, reltol 3e-3, the experiment's horizon): its relaxed settings removed. 2026-09-29: validates at atol 0.5 (OMBackend 37d32ee: two large constant tables indexed alike were one equation; harness check). (Before: 2026-09-29: stopTime 20 -> 5 (the reference ends at the MSL StopTime 5) and atol 4 -> 0.5: an atol of 4 on logic values 1-9 cannot tell '0' (3) from '1' (4). Fails on the XOR/AND gates' G2.x/y, as FullAdder: an OM.jl digital bug. (2026-06-03: passed 32/32 at atol 4 after the when-callback constant-c)" [models.Apr25_Electrical_Digital_Examples_BUF3S] name = "Modelica.Electrical.Digital.Examples.BUF3S" domain = "Electrical.Digital" -stopTime = 1.0 expected = "validate" -reltol = 0.5 -atol = 8.0 referenceFile = "Electrical_Digital_Examples_BUF3S" -issue = "2026-05-21: bumped atol 2.0->8.0. 9-value logic output worst-case offset is 5.0 (reference at t=0 was 5, OM outputs 0); previous threshold 4.5 just missed. atol=8.0 reltol=0.5 -> threshold 10.5, comfortable margin." +issue = "2026-10-27 strict check (atol 0.01, reltol 3e-3, the experiment's horizon): OM.jl's logic output differs from the reference ('U' where the reference and omc have '0', '1' or 'Z'); omc matches the reference. Its relaxed settings removed: it counts as failing until fixed. 2026-05-21: bumped atol 2.0->8.0. 9-value logic output worst-case offset is 5.0 (reference at t=0 was 5, OM outputs 0); previous threshold 4.5 just missed. atol=8.0 reltol=0.5 -> threshold 10.5, comfortable margin." [models.Apr25_Electrical_Digital_Examples_Counter] name = "Modelica.Electrical.Digital.Examples.Counter" @@ -1453,84 +1323,65 @@ issue = "2026-06-07: the Int64(NaN) crash class is fixed (table-cluster imperati [models.Apr25_Electrical_Digital_Examples_Counter3] name = "Modelica.Electrical.Digital.Examples.Counter3" domain = "Electrical.Digital" -stopTime = 1.0 expected = "validate" -reltol = 0.5 -atol = 5.0 referenceFile = "Electrical_Digital_Examples_Counter3" -issue = "2026-06-07: simulates and validates again (table-cluster imperative lowering + Newton-FD re-init, see FlipFlop). Had regressed to an Int64(NaN) implicit-affect crash." +issue = "2026-10-27: validates strictly (atol 0.01, reltol 3e-3, the experiment's horizon): its relaxed settings removed. 2026-06-07: simulates and validates again (table-cluster imperative lowering + Newton-FD re-init, see FlipFlop). Had regressed to an Int64(NaN) implicit-affect crash." [models.Apr25_Electrical_Digital_Examples_DFFREG] name = "Modelica.Electrical.Digital.Examples.DFFREG" domain = "Electrical.Digital" expected = "validate" -reltol = 0.5 -atol = 5.0 referenceFile = "Electrical_Digital_Examples_DFFREG" -issue = "2026-06-06: simulates and validates. Register-family unlock: enum-dimension array elements (ResetMap[L]) are now spelled with enum-literal subscripts in the algorithm-lift scalarization (BDAECreate._dimIndexExp) and SimCref folds enum-literal subscripts into the symbol, so callback code resolves the scalarized parameter elements." +issue = "2026-10-27 strict check (atol 0.01, reltol 3e-3, the experiment's horizon): OM.jl's logic output differs from the reference ('U' where the reference and omc have '0', '1' or 'Z'); omc matches the reference. Its relaxed settings removed: it counts as failing until fixed. 2026-06-06: simulates and validates. Register-family unlock: enum-dimension array elements (ResetMap[L]) are now spelled with enum-literal subscripts in the algorithm-lift scalarization (BDAECreate._dimIndexExp) and SimCref folds enum-literal subscripts into the symbol, so callback code resolves the scalarized parameter elements." [models.Apr25_Electrical_Digital_Examples_DFFREGL] name = "Modelica.Electrical.Digital.Examples.DFFREGL" domain = "Electrical.Digital" expected = "validate" -reltol = 0.5 -atol = 5.0 referenceFile = "Electrical_Digital_Examples_DFFREGL" -issue = "2026-06-06: simulates and validates (register-family enum-subscript fix, see DFFREG)." +issue = "2026-10-27 strict check (atol 0.01, reltol 3e-3, the experiment's horizon): OM.jl's logic output differs from the reference ('U' where the reference and omc have '0', '1' or 'Z'); omc matches the reference. Its relaxed settings removed: it counts as failing until fixed. 2026-06-06: simulates and validates (register-family enum-subscript fix, see DFFREG)." [models.Apr25_Electrical_Digital_Examples_DFFREGSRH] name = "Modelica.Electrical.Digital.Examples.DFFREGSRH" domain = "Electrical.Digital" expected = "validate" -reltol = 0.5 -atol = 5.0 referenceFile = "Electrical_Digital_Examples_DFFREGSRH" -issue = "2026-06-06: simulates and validates (register-family enum-subscript fix, see DFFREG)." +issue = "2026-10-27 strict check (atol 0.01, reltol 3e-3, the experiment's horizon): OM.jl's logic output differs from the reference ('U' where the reference and omc have '0', '1' or 'Z'); omc matches the reference. Its relaxed settings removed: it counts as failing until fixed. 2026-06-06: simulates and validates (register-family enum-subscript fix, see DFFREG)." [models.Apr25_Electrical_Digital_Examples_DFFREGSRL] name = "Modelica.Electrical.Digital.Examples.DFFREGSRL" domain = "Electrical.Digital" expected = "validate" -reltol = 0.5 -atol = 5.0 referenceFile = "Electrical_Digital_Examples_DFFREGSRL" -issue = "2026-06-06: simulates and validates (register-family enum-subscript fix, see DFFREG)." +issue = "2026-10-27 strict check (atol 0.01, reltol 3e-3, the experiment's horizon): OM.jl's logic output differs from the reference ('U' where the reference and omc have '0', '1' or 'Z'); omc matches the reference. Its relaxed settings removed: it counts as failing until fixed. 2026-06-06: simulates and validates (register-family enum-subscript fix, see DFFREG)." [models.Apr25_Electrical_Digital_Examples_DLATREG] name = "Modelica.Electrical.Digital.Examples.DLATREG" domain = "Electrical.Digital" expected = "validate" -reltol = 0.5 -atol = 5.0 referenceFile = "Electrical_Digital_Examples_DLATREG" -issue = "2026-06-06: simulates and validates (register-family enum-subscript fix, see DFFREG)." +issue = "2026-10-27: validates strictly (atol 0.01, reltol 3e-3, the experiment's horizon): its relaxed settings removed. 2026-06-06: simulates and validates (register-family enum-subscript fix, see DFFREG)." [models.Apr25_Electrical_Digital_Examples_DLATREGL] name = "Modelica.Electrical.Digital.Examples.DLATREGL" domain = "Electrical.Digital" expected = "validate" -reltol = 0.5 -atol = 5.0 referenceFile = "Electrical_Digital_Examples_DLATREGL" -issue = "2026-06-06: simulates and validates (register-family enum-subscript fix, see DFFREG)." +issue = "2026-10-27: validates strictly (atol 0.01, reltol 3e-3, the experiment's horizon): its relaxed settings removed. 2026-06-06: simulates and validates (register-family enum-subscript fix, see DFFREG)." [models.Apr25_Electrical_Digital_Examples_DLATREGSRH] name = "Modelica.Electrical.Digital.Examples.DLATREGSRH" domain = "Electrical.Digital" expected = "validate" -reltol = 0.5 -atol = 5.0 referenceFile = "Electrical_Digital_Examples_DLATREGSRH" -issue = "2026-06-06: simulates and validates (register-family enum-subscript fix, see DFFREG); validate skip removed." +issue = "2026-10-27: validates strictly (atol 0.01, reltol 3e-3, the experiment's horizon): its relaxed settings removed. 2026-06-06: simulates and validates (register-family enum-subscript fix, see DFFREG); validate skip removed." [models.Apr25_Electrical_Digital_Examples_DLATREGSRL] name = "Modelica.Electrical.Digital.Examples.DLATREGSRL" domain = "Electrical.Digital" expected = "validate" -reltol = 0.5 -atol = 5.0 referenceFile = "Electrical_Digital_Examples_DLATREGSRL" -issue = "2026-06-06: simulates and validates (register-family enum-subscript fix, see DFFREG); validate skip removed." +issue = "2026-10-27: validates strictly (atol 0.01, reltol 3e-3, the experiment's horizon): its relaxed settings removed. 2026-06-06: simulates and validates (register-family enum-subscript fix, see DFFREG); validate skip removed." [models.Apr25_Electrical_Digital_Examples_FlipFlop] name = "Modelica.Electrical.Digital.Examples.FlipFlop" @@ -1561,31 +1412,24 @@ issue = "2026-09-29: validates (OMBackend 37d32ee: two large constant tables ind [models.Apr25_Electrical_Digital_Examples_HalfAdder] name = "Modelica.Electrical.Digital.Examples.HalfAdder" domain = "Electrical.Digital" -stopTime = 1.0 expected = "validate" -reltol = 0.5 -atol = 5.0 referenceFile = "Electrical_Digital_Examples_HalfAdder" solver = "Rosenbrock23" -issue = "2026-06-06: production solve grinds under the default Rosenbrock regardless of autodiff config while the manual integrator path solves the same problem in 14 steps (open issue: callback affects observed running interpreted in the grinding process). Rosenbrock23 simulates and validates in seconds, so it is pinned here. The earlier FBDF hang is separately fixed by gating the discrete-algebraic FBDF auto-switch to when-free models." +issue = "2026-10-27 strict check (atol 0.01, reltol 3e-3, the experiment's horizon): OM.jl's output lacks the reference's initial 'U'; omc matches the reference. Its relaxed settings removed: it counts as failing until fixed. 2026-06-06: production solve grinds under the default Rosenbrock regardless of autodiff config while the manual integrator path solves the same problem in 14 steps (open issue: callback affects observed running interpreted in the grinding process). Rosenbrock23 simulates and validates in seconds, so it is pinned here. The earlier FBDF hang is separately fixed by gating the discrete-algebraic FBDF auto-switch to when-free models." [models.Apr25_Electrical_Digital_Examples_INV3S] name = "Modelica.Electrical.Digital.Examples.INV3S" domain = "Electrical.Digital" -stopTime = 1.0 expected = "validate" -reltol = 0.5 -atol = 2.0 referenceFile = "Electrical_Digital_Examples_INV3S" -issue = "2026-05-20: promoted to validate. Single reference signal passes via reltol=0.5 (9-value logic, max_abs ~4)." +issue = "2026-10-27 strict check (atol 0.01, reltol 3e-3, the experiment's horizon): OM.jl's logic output differs from the reference ('U' where the reference and omc have '0', '1' or 'Z'); omc matches the reference. Its relaxed settings removed: it counts as failing until fixed. 2026-05-20: promoted to validate. Single reference signal passes via reltol=0.5 (9-value logic, max_abs ~4)." [models.Apr25_Electrical_Digital_Examples_MUX2x1] name = "Modelica.Electrical.Digital.Examples.MUX2x1" domain = "Electrical.Digital" -stopTime = 1.0 expected = "validate" referenceFile = "Electrical_Digital_Examples_MUX2x1" -issue = "2026-05-19 probe: at stopTime=1.0 Mux2x1.out matches reference exactly (Logic.U=1, no transitions before t=2). Full stopTime=15 still fails because digital logic does not propagate input transitions. Shortened to capture the stable region." +issue = "2026-10-27: validates strictly (atol 0.01, reltol 3e-3, the experiment's horizon): its relaxed settings removed. 2026-05-19 probe: at stopTime=1.0 Mux2x1.out matches reference exactly (Logic.U=1, no transitions before t=2). Full stopTime=15 still fails because digital logic does not propagate input transitions. Shortened to capture the stable region." [models.Apr25_Electrical_Digital_Examples_Multiplexer] name = "Modelica.Electrical.Digital.Examples.Multiplexer" @@ -1597,22 +1441,16 @@ issue = "2026-06-07: simulates and validates at default tolerances (table-cluste [models.Apr25_Electrical_Digital_Examples_NRXFER] name = "Modelica.Electrical.Digital.Examples.NRXFER" domain = "Electrical.Digital" -stopTime = 1.0 expected = "validate" -reltol = 0.5 -atol = 2.0 referenceFile = "Electrical_Digital_Examples_NRXFER" -issue = "2026-05-20: promoted to validate. Single reference signal passes via reltol=0.5 (9-value logic, max_abs ~4)." +issue = "2026-10-27 strict check (atol 0.01, reltol 3e-3, the experiment's horizon): OM.jl's logic output differs from the reference ('U' where the reference and omc have '0', '1' or 'Z'); omc matches the reference. Its relaxed settings removed: it counts as failing until fixed. 2026-05-20: promoted to validate. Single reference signal passes via reltol=0.5 (9-value logic, max_abs ~4)." [models.Apr25_Electrical_Digital_Examples_NXFER] name = "Modelica.Electrical.Digital.Examples.NXFER" domain = "Electrical.Digital" -stopTime = 1.0 expected = "validate" -reltol = 0.5 -atol = 2.0 referenceFile = "Electrical_Digital_Examples_NXFER" -issue = "2026-05-20: promoted to validate. Single reference signal passes via reltol=0.5 (9-value logic, max_abs ~4)." +issue = "2026-10-27 strict check (atol 0.01, reltol 3e-3, the experiment's horizon): OM.jl's logic output differs from the reference ('U' where the reference and omc have '0', '1' or 'Z'); omc matches the reference. Its relaxed settings removed: it counts as failing until fixed. 2026-05-20: promoted to validate. Single reference signal passes via reltol=0.5 (9-value logic, max_abs ~4)." [models.Apr25_Electrical_Digital_Examples_RAM] name = "Modelica.Electrical.Digital.Examples.RAM" @@ -1635,12 +1473,9 @@ issue = "2026-06-05: VALIDATE passes (all 6 signals, max_abs=0 off-knot). Three [models.Apr25_Electrical_Digital_Examples_WiredX] name = "Modelica.Electrical.Digital.Examples.WiredX" domain = "Electrical.Digital" -stopTime = 1.0 expected = "validate" -reltol = 0.5 -atol = 5.0 referenceFile = "Electrical_Digital_Examples_WiredX" -issue = "2026-05-20: re-probed at stopTime=1.0, simulate succeeds and validate passes 2/2 reference signals. Promoted from simulate." +issue = "2026-10-27 strict check (atol 0.01, reltol 3e-3, the experiment's horizon): OM.jl's logic output differs from the reference ('U' where the reference and omc have '0', '1' or 'Z'); omc matches the reference. Its relaxed settings removed: it counts as failing until fixed. 2026-05-20: re-probed at stopTime=1.0, simulate succeeds and validate passes 2/2 reference signals. Promoted from simulate." [models.Apr25_Electrical_Machines_Examples_AsynchronousInductionMachines_AIMC_Conveyor] name = "Modelica.Electrical.Machines.Examples.AsynchronousInductionMachines.AIMC_Conveyor" @@ -1715,10 +1550,8 @@ issue = "Apr25 full MSL run: backend passed; downstream phase failed (simulate=f name = "Modelica.Electrical.Machines.Examples.ControlledDCDrives.CurrentControlledDCPM" domain = "Electrical.Machines" expected = "validate" -reltol = 0.10 -atol = 12.0 referenceFile = "Electrical_Machines_Examples_ControlledDCDrives_CurrentControlledDCPM" -issue = "2026-06-07: validates 9/9 after the if-equation closed-boundary init fix (closed relations starting on the boundary initialized their ifCond wrong)." +issue = "2026-10-27: validates strictly (atol 0.01, reltol 3e-3, the experiment's horizon): its relaxed settings removed. 2026-06-07: validates 9/9 after the if-equation closed-boundary init fix (closed relations starting on the boundary initialized their ifCond wrong)." [models.Apr25_Electrical_Machines_Examples_ControlledDCDrives_SpeedControlledDCPM] name = "Modelica.Electrical.Machines.Examples.ControlledDCDrives.SpeedControlledDCPM" @@ -1736,10 +1569,8 @@ name = "Modelica.Electrical.Machines.Examples.DCMachines.DCEE_Start" domain = "Electrical.Machines" stopTime = 2.0 expected = "validate" -reltol = 0.05 -atol = 12.0 referenceFile = "Electrical_Machines_Examples_DCMachines_DCEE_Start" -issue = "2026-05-16 probe: validate passes 2/2 at atol=12, reltol=0.05 (harness defaults). Promoted from expected='' to expected='validate'." +issue = "2026-10-27: validates strictly (atol 0.01, reltol 3e-3, the experiment's horizon): its relaxed settings removed. 2026-05-16 probe: validate passes 2/2 at atol=12, reltol=0.05 (harness defaults). Promoted from expected='' to expected='validate'." [models.Apr25_Electrical_Machines_Examples_DCMachines_DCPM_Cooling] name = "Modelica.Electrical.Machines.Examples.DCMachines.DCPM_Cooling" @@ -1754,19 +1585,15 @@ name = "Modelica.Electrical.Machines.Examples.DCMachines.DCPM_CurrentControlled" domain = "Electrical.Machines" stopTime = 2.0 expected = "validate" -reltol = 0.10 -atol = 12.0 referenceFile = "Electrical_Machines_Examples_DCMachines_DCPM_CurrentControlled" -issue = "2026-05-26: kept atol at 12.0; prior note about widening to 300 was rejected as too loose. Sim has been stable; validation still needs a trajectory-level fix or a narrower, justified tolerance." +issue = "2026-10-27: validates strictly (atol 0.01, reltol 3e-3, the experiment's horizon): its relaxed settings removed. 2026-05-26: kept atol at 12.0; prior note about widening to 300 was rejected as too loose. Sim has been stable; validation still needs a trajectory-level fix or a narrower, justified tolerance." [models.Apr25_Electrical_Machines_Examples_DCMachines_DCPM_QuasiStationary] name = "Modelica.Electrical.Machines.Examples.DCMachines.DCPM_QuasiStationary" domain = "Electrical.Machines" expected = "validate" -reltol = 0.10 -atol = 12.0 referenceFile = "Electrical_Machines_Examples_DCMachines_DCPM_QuasiStationary" -issue = "2026-05-26: kept atol at 12.0; prior note about widening to 300 was rejected as too loose. 4/5 reference signals were previously reported matching, but dcpm1.la.i needs a real trajectory-level fix." +issue = "2026-10-27: validates strictly (atol 0.01, reltol 3e-3, the experiment's horizon): its relaxed settings removed. 2026-05-26: kept atol at 12.0; prior note about widening to 300 was rejected as too loose. 4/5 reference signals were previously reported matching, but dcpm1.la.i needs a real trajectory-level fix." [models.Apr25_Electrical_Machines_Examples_DCMachines_DCPM_Start] name = "Modelica.Electrical.Machines.Examples.DCMachines.DCPM_Start" @@ -1774,51 +1601,40 @@ domain = "Electrical.Machines" stopTime = 2.0 dtmax = 0.0001 expected = "validate" -reltol = 0.05 -atol = 12.0 referenceFile = "Electrical_Machines_Examples_DCMachines_DCPM_Start" -issue = "2026-06-03: dtmax=1e-4 caps the integrator step through the 0.2-0.5s startup ramp; without it dcpm.la.i chatters (act=-7.14 vs exp=92.53 at t=0.9) though the endpoint already matched. With dtmax the full dcpm.la.i trajectory validates (maxabs=0.0 at the 21-point comparator). Endpoint refEnd=99.974 == omEnd=99.974." +issue = "2026-10-27: validates strictly (atol 0.01, reltol 3e-3, the experiment's horizon): its relaxed settings removed. 2026-06-03: dtmax=1e-4 caps the integrator step through the 0.2-0.5s startup ramp; without it dcpm.la.i chatters (act=-7.14 vs exp=92.53 at t=0.9) though the endpoint already matched. With dtmax the full dcpm.la.i trajectory validates (maxabs=0.0 at the 21-point comparator). Endpoint refEnd=99.974 == omEnd=99.974." [models.Apr25_Electrical_Machines_Examples_DCMachines_DCPM_Temperature] name = "Modelica.Electrical.Machines.Examples.DCMachines.DCPM_Temperature" domain = "Electrical.Machines" -stopTime = 2.0 expected = "validate" -reltol = 0.10 -atol = 12.0 referenceFile = "Electrical_Machines_Examples_DCMachines_DCPM_Temperature" -issue = "2026-05-26: kept atol at 12.0; prior note about widening to 300 was rejected as too loose. Sim retcode stable; dcpm.la.i mismatch still needs investigation." +issue = "2026-10-27: validates strictly (atol 0.01, reltol 3e-3, the experiment's horizon): its relaxed settings removed. 2026-05-26: kept atol at 12.0; prior note about widening to 300 was rejected as too loose. Sim retcode stable; dcpm.la.i mismatch still needs investigation." [models.Apr25_Electrical_Machines_Examples_DCMachines_DCPM_withLosses] name = "Modelica.Electrical.Machines.Examples.DCMachines.DCPM_withLosses" domain = "Electrical.Machines" stopTime = 2.0 expected = "validate" -reltol = 0.10 -atol = 12.0 referenceFile = "Electrical_Machines_Examples_DCMachines_DCPM_withLosses" -issue = "2026-06-07: validates 6/6 after the if-equation closed-boundary init fix (w >= 0 at w = 0 took the wrong branch, flipping the load torque sign; armature current max err dropped from 229 to 0.016)." +issue = "2026-10-27: validates strictly (atol 0.01, reltol 3e-3, the experiment's horizon): its relaxed settings removed. 2026-06-07: validates 6/6 after the if-equation closed-boundary init fix (w >= 0 at w = 0 took the wrong branch, flipping the load torque sign; armature current max err dropped from 229 to 0.016)." [models.Apr25_Electrical_Machines_Examples_DCMachines_DCSE_Start] name = "Modelica.Electrical.Machines.Examples.DCMachines.DCSE_Start" domain = "Electrical.Machines" stopTime = 2.0 expected = "validate" -reltol = 0.10 -atol = 12.0 skipPhases = [] referenceFile = "Electrical_Machines_Examples_DCMachines_DCSE_Start" -issue = "2026-06-07: validates over the full span (max err ~1e-5) after the DAE-init line-search fix (the step clamp starved di/dt = V/L = 5e4 at t0, so the init solver fell through to the unpinned phase and launched from the equilibrium instead of rest; that wrong launch also caused the earlier full-span instability)." +issue = "2026-10-27: validates strictly (atol 0.01, reltol 3e-3, the experiment's horizon): its relaxed settings removed. 2026-06-07: validates over the full span (max err ~1e-5) after the DAE-init line-search fix (the step clamp starved di/dt = V/L = 5e4 at t0, so the init solver fell through to the unpinned phase and launched from the equilibrium instead of rest; that wrong launch also caused the earlier full-span instability)." [models.Apr25_Electrical_Machines_Examples_DCMachines_DCSE_SinglePhase] name = "Modelica.Electrical.Machines.Examples.DCMachines.DCSE_SinglePhase" domain = "Electrical.Machines" stopTime = 2.0 -reltol = 0.05 -atol = 12.0 expected = "validate" referenceFile = "Electrical_Machines_Examples_DCMachines_DCSE_SinglePhase" -issue = "2026-05-13 verified: all 3 signals match reference at t=2 (dcse.la.i=-72.755 vs -72.756, loadInertia.w=133.514 exact, loadInertia.phi=188.168 vs 188.167). expected=validate added." +issue = "2026-10-27: validates strictly (atol 0.01, reltol 3e-3, the experiment's horizon): its relaxed settings removed. 2026-05-13 verified: all 3 signals match reference at t=2 (dcse.la.i=-72.755 vs -72.756, loadInertia.w=133.514 exact, loadInertia.phi=188.168 vs 188.167). expected=validate added." [models.Apr25_Electrical_Machines_Examples_SynchronousInductionMachines_SMEE_DOL] name = "Modelica.Electrical.Machines.Examples.SynchronousInductionMachines.SMEE_DOL" @@ -1857,10 +1673,8 @@ name = "Modelica.Electrical.Machines.Examples.SynchronousInductionMachines.SMPM_ domain = "Electrical.Machines" stopTime = 0.04 expected = "validate" -reltol = 0.1 -atol = 1.0 referenceFile = "Electrical_Machines_Examples_SynchronousInductionMachines_SMPM_NoLoad" -issue = "2026-09-29: stopTime 0.1 -> 0.04 (the reference ends at the MSL StopTime 0.04) and atol/reltol back to 1.0/0.1. The 2026-05-21 bump to 10/0.5 absorbed 15.708 vs 7.854: the reference clamped at its value at 0.04, not a pole-pair error." +issue = "2026-10-27: validates strictly (atol 0.01, reltol 3e-3, the experiment's horizon): its relaxed settings removed. 2026-09-29: stopTime 0.1 -> 0.04 (the reference ends at the MSL StopTime 0.04) and atol/reltol back to 1.0/0.1. The 2026-05-21 bump to 10/0.5 absorbed 15.708 vs 7.854: the reference clamped at its value at 0.04, not a pole-pair error." [models.Apr25_Electrical_Machines_Examples_SynchronousInductionMachines_SMPM_VoltageSource] name = "Modelica.Electrical.Machines.Examples.SynchronousInductionMachines.SMPM_VoltageSource" @@ -1937,10 +1751,8 @@ name = "Modelica.Electrical.Spice3.Examples.CoupledInductors" domain = "Electrical.Spice3" stopTime = 0.2 expected = "validate" -reltol = 0.05 -atol = 0.2 referenceFile = "Electrical_Spice3_Examples_CoupledInductors" -issue = "2026-05-16 probe: validate passes 3/3 at atol=0.2, reltol=0.05. Promoted from expected='' to expected='validate'." +issue = "2026-10-27: validates strictly (atol 0.01, reltol 3e-3, the experiment's horizon): its relaxed settings removed. 2026-05-16 probe: validate passes 3/3 at atol=0.2, reltol=0.05. Promoted from expected='' to expected='validate'." [models.Apr25_Electrical_Spice3_Examples_FourInverters] name = "Modelica.Electrical.Spice3.Examples.FourInverters" @@ -2025,33 +1837,25 @@ issue = "2026-06-12: simulates to Success. A warm_validate run reports 9/9 ONLY [models.Apr25_Magnetic_FluxTubes_Examples_MovingCoilActuator_ForceCurrentBehaviour] name = "Modelica.Magnetic.FluxTubes.Examples.MovingCoilActuator.ForceCurrentBehaviour" domain = "Magnetic.FluxTubes" -stopTime = 0.5 expected = "validate" -reltol = 0.05 -atol = 0.5 referenceFile = "Magnetic_FluxTubes_Examples_MovingCoilActuator_ForceCurrentBehaviour" -issue = "2026-06-10: record-constructor scope-cref fix in NFEvalFunction unblocked the PlasticNdFeB UndefVarError; validates against the Dymola reference (max rel err ~1e-10)." +issue = "2026-10-27: validates strictly (atol 0.01, reltol 3e-3, the experiment's horizon): its relaxed settings removed. 2026-06-10: record-constructor scope-cref fix in NFEvalFunction unblocked the PlasticNdFeB UndefVarError; validates against the Dymola reference (max rel err ~1e-10)." [models.Apr25_Magnetic_FluxTubes_Examples_MovingCoilActuator_ForceStrokeBehaviour] name = "Modelica.Magnetic.FluxTubes.Examples.MovingCoilActuator.ForceStrokeBehaviour" domain = "Magnetic.FluxTubes" -stopTime = 0.5 expected = "validate" -reltol = 0.05 -atol = 0.5 referenceFile = "Magnetic_FluxTubes_Examples_MovingCoilActuator_ForceStrokeBehaviour" -issue = "2026-06-10: record-constructor scope-cref fix in NFEvalFunction unblocked the PlasticNdFeB UndefVarError; validates against the Dymola reference (max rel err ~1e-15)." +issue = "2026-10-27: validates strictly (atol 0.01, reltol 3e-3, the experiment's horizon): its relaxed settings removed. 2026-06-10: record-constructor scope-cref fix in NFEvalFunction unblocked the PlasticNdFeB UndefVarError; validates against the Dymola reference (max rel err ~1e-15)." [models.Apr25_Magnetic_FluxTubes_Examples_SaturatedInductor] name = "Modelica.Magnetic.FluxTubes.Examples.SaturatedInductor" domain = "Magnetic.FluxTubes" stopTime = 0.1 expected = "validate" -reltol = 0.10 -atol = 1.0 initializealg = "BrownFullBasicInit" referenceFile = "Magnetic_FluxTubes_Examples_SaturatedInductor" -issue = "2026-05-22: promoted to validate with BrownFullBasicInit + loose tolerance. Default init algorithm was returning InitialFailure on the saturated inductor's nonlinear flux-current curve." +issue = "2026-10-27: validates strictly (atol 0.01, reltol 3e-3, the experiment's horizon): its relaxed settings removed. 2026-05-22: promoted to validate with BrownFullBasicInit + loose tolerance. Default init algorithm was returning InitialFailure on the saturated inductor's nonlinear flux-current curve." [models.Apr25_Magnetic_FluxTubes_Examples_SolenoidActuator_ComparisonPullInStroke] name = "Modelica.Magnetic.FluxTubes.Examples.SolenoidActuator.ComparisonPullInStroke" @@ -2064,13 +1868,10 @@ issue = "2026-05-18 cycle: Apr25 stale skip removed; probing simulate after dete [models.Apr25_Magnetic_FluxTubes_Examples_SolenoidActuator_ComparisonQuasiStationary] name = "Modelica.Magnetic.FluxTubes.Examples.SolenoidActuator.ComparisonQuasiStationary" domain = "Magnetic.FluxTubes" -stopTime = 0.5 expected = "validate" -reltol = 0.10 -atol = 1.0 initializealg = "BrownFullBasicInit" referenceFile = "Magnetic_FluxTubes_Examples_SolenoidActuator_ComparisonQuasiStationary" -issue = "2026-05-22: promoted to validate with BrownFullBasicInit + loose tolerance. Default init algorithm was returning InitialFailure." +issue = "2026-10-27: validates strictly (atol 0.01, reltol 3e-3, the experiment's horizon): its relaxed settings removed. 2026-05-22: promoted to validate with BrownFullBasicInit + loose tolerance. Default init algorithm was returning InitialFailure." [models.Apr25_Magnetic_QuasiStatic_FluxTubes_Examples_FixedShapes_CuboidSections] name = "Modelica.Magnetic.QuasiStatic.FluxTubes.Examples.FixedShapes.CuboidSections" @@ -2090,10 +1891,8 @@ name = "Modelica.Mechanics.MultiBody.Examples.Elementary.DoublePendulumInitTip" domain = "Mechanics.MultiBody" stopTime = 5.0 expected = "validate" -atol = 0.5 -reltol = 0.30 referenceFile = "Mechanics_MultiBody_Examples_Elementary_DoublePendulumInitTip" -issue = "2026-06-12: validates 4/4 at honest tolerances (atol=0.5 reltol=0.30); all four joint trajectories track the Dymola reference (rel err 0.6-15%, dominated by reltol on the large phi/w values, not the absolute floor). The prior validate failure was the warm_validate duplicate-timestamp interpolation bug producing ref=NaN, now fixed in scripts/warm_validate.jl." +issue = "2026-10-27 strict check (atol 0.01, reltol 3e-3, the experiment's horizon): disputed: revolute1.w and revolute2.w fail; omc also misses the reference. Its relaxed settings removed: it counts as failing until fixed. 2026-06-12: validates 4/4 at honest tolerances (atol=0.5 reltol=0.30); all four joint trajectories track the Dymola reference (rel err 0.6-15%, dominated by reltol on the large phi/w values, not the absolute floor). The prior validate failure was the warm_validate duplicate-timestamp interpolation bug producing ref=NaN, now fixed in scripts/warm_validate.jl." [models.Apr25_Mechanics_MultiBody_Examples_Elementary_HeatLosses] name = "Modelica.Mechanics.MultiBody.Examples.Elementary.HeatLosses" @@ -2127,12 +1926,9 @@ issue = "2026-06-07: simulates to Success after relay-temp guess seeding (the gu [models.Apr25_Mechanics_MultiBody_Examples_Elementary_PointGravity] name = "Modelica.Mechanics.MultiBody.Examples.Elementary.PointGravity" domain = "Mechanics.MultiBody" -stopTime = 1.0 expected = "validate" -reltol = 0.05 -atol = 0.5 referenceFile = "Mechanics_MultiBody_Examples_Elementary_PointGravity" -issue = "2026-05-20: validate now passes 18/18 (body{1,2}.r_0/v_0 translation signals + w_a structurally-zero angular-velocity components, all matched within atol=0.5). The rescue rule in eliminateOutputOnlyVariables keeps the inertia-anchored initial conditions, and the comparison harness already treats eliminated-from-system signals correctly. Promoted from simulate." +issue = "2026-10-27 strict check (atol 0.01, reltol 3e-3, the experiment's horizon): OM.jl's body2.v_0 is off by up to 0.19 around the close approach; omc matches the reference. Its relaxed settings removed: it counts as failing until fixed. 2026-05-20: validate now passes 18/18 (body{1,2}.r_0/v_0 translation signals + w_a structurally-zero angular-velocity components, all matched within atol=0.5). The rescue rule in eliminateOutputOnlyVariables keeps the inertia-anchored initial conditions, and the comparison harness already treats eliminated-from-system signals correctly. Promoted from simulate." [models.Apr25_Mechanics_MultiBody_Examples_Elementary_PointGravityWithPointMasses] name = "Modelica.Mechanics.MultiBody.Examples.Elementary.PointGravityWithPointMasses" @@ -2159,12 +1955,9 @@ issue = "2026-06-10 re-probe: now fails with ArgumentError 'equations have at le [models.May2026_MultiBody_Surfaces] name = "Modelica.Mechanics.MultiBody.Examples.Elementary.Surfaces" domain = "Mechanics.MultiBody" -stopTime = 0.5 expected = "validate" -reltol = 0.1 -atol = 0.5 referenceFile = "Mechanics_MultiBody_Examples_Elementary_Surfaces" -issue = "2026-05-19: validates 2/2 (prismatic.s max_abs=2.98e-6, prismatic.v max_abs=0.000444) at stopTime=0.5 after the MTK_CodeGeneration createArrayParameterPrelude orphan fallback was added. The frontend leaves `world_gravityArrowHead_lengthDirection[2..3]` as subscripted CREFs in residuals without a matching HT entry; the fallback now emits a 0.0 binding for every such orphan so MTK eval no longer raises UndefVarError." +issue = "2026-10-27: validates strictly (atol 0.01, reltol 3e-3, the experiment's horizon): its relaxed settings removed. 2026-05-19: validates 2/2 (prismatic.s max_abs=2.98e-6, prismatic.v max_abs=0.000444) at stopTime=0.5 after the MTK_CodeGeneration createArrayParameterPrelude orphan fallback was added. The frontend leaves `world_gravityArrowHead_lengthDirection[2..3]` as subscripted CREFs in residuals without a matching HT entry; the fallback now emits a 0.0 binding for every such orphan so MTK eval no longer raises UndefVarError." [models.Apr25_Mechanics_MultiBody_Examples_Elementary_RollingWheelSetDriving] name = "Modelica.Mechanics.MultiBody.Examples.Elementary.RollingWheelSetDriving" @@ -2186,10 +1979,8 @@ name = "Modelica.Mechanics.MultiBody.Examples.Elementary.SpringDamperSystem" domain = "Mechanics.MultiBody" stopTime = 10.0 expected = "validate" -reltol = 0.05 -atol = 0.5 referenceFile = "Mechanics_MultiBody_Examples_Elementary_SpringDamperSystem" -issue = "2026-06-10: validates 11/11 after the codegen der-solve fix (multi-derivative residuals stay implicit; Body root quaternion equations no longer corrupted). Promoted from skip-simulate." +issue = "2026-10-27: validates strictly (atol 0.01, reltol 3e-3, the experiment's horizon): its relaxed settings removed. 2026-06-10: validates 11/11 after the codegen der-solve fix (multi-derivative residuals stay implicit; Body root quaternion equations no longer corrupted). Promoted from skip-simulate." [models.Apr25_Mechanics_MultiBody_Examples_Elementary_SpringMassSystem] name = "Modelica.Mechanics.MultiBody.Examples.Elementary.SpringMassSystem" @@ -2204,40 +1995,31 @@ name = "Modelica.Mechanics.MultiBody.Examples.Elementary.SpringWithMass" domain = "Mechanics.MultiBody" stopTime = 5.0 expected = "validate" -reltol = 0.05 -atol = 0.5 referenceFile = "Mechanics_MultiBody_Examples_Elementary_SpringWithMass" -issue = "2026-06-10: validates 9/9 after the codegen der-solve fix (moveDerivativeToLHS no longer solves multi-derivative residuals for the first der, which corrupted the Body root quaternion equations into structural singularity). Promoted from skip-simulate." +issue = "2026-10-27: validates strictly (atol 0.01, reltol 3e-3, the experiment's horizon): its relaxed settings removed. 2026-06-10: validates 9/9 after the codegen der-solve fix (moveDerivativeToLHS no longer solves multi-derivative residuals for the first der, which corrupted the Body root quaternion equations into structural singularity). Promoted from skip-simulate." [models.Apr25_Mechanics_MultiBody_Examples_Elementary_UserDefinedGravityField] name = "Modelica.Mechanics.MultiBody.Examples.Elementary.UserDefinedGravityField" domain = "Mechanics.MultiBody" -stopTime = 1.1 expected = "validate" -reltol = 0.05 -atol = 0.5 referenceFile = "Mechanics_MultiBody_Examples_Elementary_UserDefinedGravityField" -issue = "2026-05-16 probe: validate passes (sim 78.9s, val 0.91s). Promoted from expected='' to expected='validate'." +issue = "2026-10-27: validates strictly (atol 0.01, reltol 3e-3, the experiment's horizon): its relaxed settings removed. 2026-05-16 probe: validate passes (sim 78.9s, val 0.91s). Promoted from expected='' to expected='validate'." [models.Apr25_Mechanics_MultiBody_Examples_Loops_Engine1b] name = "Modelica.Mechanics.MultiBody.Examples.Loops.Engine1b" domain = "Mechanics.MultiBody" stopTime = 0.5 expected = "validate" -reltol = 0.05 -atol = 0.1 referenceFile = "Mechanics_MultiBody_Examples_Loops_Engine1b" -issue = "2026-09-29: stopTime 0.72 -> 0.5, the MSL StopTime where the reference ends (0.72 was Engine1a's)." +issue = "2026-10-27: validates strictly (atol 0.01, reltol 3e-3, the experiment's horizon): its relaxed settings removed. 2026-09-29: stopTime 0.72 -> 0.5, the MSL StopTime where the reference ends (0.72 was Engine1a's)." [models.Apr25_Mechanics_MultiBody_Examples_Loops_Engine1b_analytic] name = "Modelica.Mechanics.MultiBody.Examples.Loops.Engine1b_analytic" domain = "Mechanics.MultiBody" stopTime = 0.5 expected = "validate" -reltol = 0.05 -atol = 0.1 referenceFile = "Mechanics_MultiBody_Examples_Loops_Engine1b_analytic" -issue = "2026-09-29: stopTime 0.72 -> 0.5, the MSL StopTime where the reference ends (0.72 was Engine1a's)." +issue = "2026-10-27: validates strictly (atol 0.01, reltol 3e-3, the experiment's horizon): its relaxed settings removed. 2026-09-29: stopTime 0.72 -> 0.5, the MSL StopTime where the reference ends (0.72 was Engine1a's)." [models.Apr25_Mechanics_MultiBody_Examples_Loops_Fourbar1] name = "Modelica.Mechanics.MultiBody.Examples.Loops.Fourbar1" @@ -2264,9 +2046,7 @@ issue = "2026-09-29: validates (OMBackend 3d895b6: parameters an initial equatio name = "Modelica.Mechanics.MultiBody.Examples.Loops.PlanarFourbar" domain = "Mechanics.MultiBody" expected = "validate" -reltol = 0.05 -atol = 0.1 -issue = "2026-05-17: revolute1.w validation drift after structural pass; widened atol/reltol to 0.1/0.05 — angular-velocity magnitudes ~few rad/s, this is ~5%." +issue = "2026-10-27: validates strictly (atol 0.01, reltol 3e-3, the experiment's horizon): its relaxed settings removed. 2026-05-17: revolute1.w validation drift after structural pass; widened atol/reltol to 0.1/0.05 — angular-velocity magnitudes ~few rad/s, this is ~5%." [models.Apr25_Mechanics_MultiBody_Examples_Rotational3DEffects_ActuatedDrive] name = "Modelica.Mechanics.MultiBody.Examples.Rotational3DEffects.ActuatedDrive" @@ -2301,11 +2081,9 @@ name = "Modelica.Mechanics.Rotational.Examples.Backlash" domain = "Mechanics.Rotational" stopTime = 1.0 expected = "validate" -reltol = 0.30 -atol = 50.0 skipPhases = [] referenceFile = "Mechanics_Rotational_Examples_Backlash" -issue = "2026-05-22: tolerances bumped to absorb elastoBacklash.w_rel post-impact angular-velocity spikes (peak |w_rel| ~ 100 rad/s, timing shift causes large transient error vs reference even when amplitude matches)." +issue = "2026-10-27: validates strictly (atol 0.01, reltol 3e-3, the experiment's horizon): its relaxed settings removed. 2026-05-22: tolerances bumped to absorb elastoBacklash.w_rel post-impact angular-velocity spikes (peak |w_rel| ~ 100 rad/s, timing shift causes large transient error vs reference even when amplitude matches)." [models.Apr25_Mechanics_Rotational_Examples_LossyGearDemo2] name = "Modelica.Mechanics.Rotational.Examples.LossyGearDemo2" @@ -2332,7 +2110,6 @@ name = "Modelica.Mechanics.Translational.Examples.Sensors" domain = "Mechanics.Translational" stopTime = 1.0 expected = "validate" -reltol = 0.01 atol = 0.01 referenceFile = "Mechanics_Translational_Examples_Sensors" @@ -2341,7 +2118,6 @@ name = "Modelica.Electrical.Analog.Examples.ResonanceCircuits" domain = "Electrical.Analog" stopTime = 1.0 expected = "validate" -reltol = 0.01 atol = 0.01 referenceFile = "Electrical_Analog_Examples_ResonanceCircuits" @@ -2350,7 +2126,6 @@ name = "Modelica.Electrical.Analog.Examples.CauerLowPassAnalog" domain = "Electrical.Analog" stopTime = 60.0 expected = "validate" -reltol = 0.01 atol = 0.01 referenceFile = "Electrical_Analog_Examples_CauerLowPassAnalog" @@ -2359,19 +2134,15 @@ name = "Modelica.Electrical.Analog.Examples.GenerationOfFMUs" domain = "Electrical.Analog" stopTime = 1.0 expected = "validate" -reltol = 0.01 atol = 0.01 referenceFile = "Electrical_Analog_Examples_GenerationOfFMUs" [models.May2026_Magnetic_FundamentalWave_SinglePhaseInductance] name = "Modelica.Magnetic.FundamentalWave.Examples.Components.SinglePhaseInductance" domain = "Magnetic.FundamentalWave" -stopTime = 1.0 expected = "validate" -reltol = 0.10 -atol = 0.5 referenceFile = "Magnetic_FundamentalWave_Examples_Components_SinglePhaseInductance" -issue = "2026-05-16 probe: validate passes 2/2 at atol=0.5, reltol=0.10." +issue = "2026-10-27: validates strictly (atol 0.01, reltol 3e-3, the experiment's horizon): its relaxed settings removed. 2026-05-16 probe: validate passes 2/2 at atol=0.5, reltol=0.10." [models.May2026_Blocks_NoiseExamples_AutomaticSeed] name = "Modelica.Blocks.Examples.NoiseExamples.AutomaticSeed" @@ -2383,82 +2154,61 @@ issue = "2026-09-29: validates (OMBackend 9403a15: sample(start, interval) ticks [models.May2026_Blocks_NoiseExamples_Distributions] name = "Modelica.Blocks.Examples.NoiseExamples.Distributions" domain = "Blocks" -stopTime = 1.0 expected = "validate" -reltol = 0.50 -atol = 10.0 referenceFile = "Blocks_Examples_NoiseExamples_Distributions" -issue = "2026-05-16 probe: validate passes 2/2 at atol=10 (stochastic noise signals; bounds checked rather than trajectory match)." +issue = "2026-10-27: validates strictly (atol 0.01, reltol 3e-3, the experiment's horizon): its relaxed settings removed. 2026-05-16 probe: validate passes 2/2 at atol=10 (stochastic noise signals; bounds checked rather than trajectory match)." [models.May2026_Blocks_NoiseExamples_UniformNoise] name = "Modelica.Blocks.Examples.NoiseExamples.UniformNoise" domain = "Blocks" -stopTime = 1.0 expected = "validate" -reltol = 0.50 -atol = 10.0 referenceFile = "Blocks_Examples_NoiseExamples_UniformNoise" -issue = "2026-05-16 probe: validate passes 1/1 at atol=10 (stochastic noise)." +issue = "2026-10-27: validates strictly (atol 0.01, reltol 3e-3, the experiment's horizon): its relaxed settings removed. 2026-05-16 probe: validate passes 1/1 at atol=10 (stochastic noise)." [models.May2026_Blocks_NoiseExamples_NormalNoiseProperties] name = "Modelica.Blocks.Examples.NoiseExamples.NormalNoiseProperties" domain = "Blocks" -stopTime = 1.0 expected = "validate" -reltol = 0.50 -atol = 10.0 referenceFile = "Blocks_Examples_NoiseExamples_NormalNoiseProperties" -issue = "2026-05-16 probe: validate passes 7/7 at atol=10 (stochastic noise)." +issue = "2026-10-27: validates strictly (atol 0.01, reltol 3e-3, the experiment's horizon): its relaxed settings removed. 2026-05-16 probe: validate passes 7/7 at atol=10 (stochastic noise)." [models.May2026_Blocks_NoiseExamples_UniformNoiseProperties] name = "Modelica.Blocks.Examples.NoiseExamples.UniformNoiseProperties" domain = "Blocks" -stopTime = 1.0 expected = "validate" -reltol = 0.50 -atol = 10.0 referenceFile = "Blocks_Examples_NoiseExamples_UniformNoiseProperties" -issue = "2026-05-16 probe: validate passes 7/7 at atol=10 (stochastic noise)." +issue = "2026-10-27: validates strictly (atol 0.01, reltol 3e-3, the experiment's horizon): its relaxed settings removed. 2026-05-16 probe: validate passes 7/7 at atol=10 (stochastic noise)." [models.May2026_Math_FastFourierTransform_RealFFT1] name = "Modelica.Math.FastFourierTransform.Examples.RealFFT1" domain = "Math.FastFourierTransform" stopTime = 6.0 expected = "validate" -reltol = 0.10 -atol = 0.5 referenceFile = "Math_FastFourierTransform_Examples_RealFFT1" -issue = "2026-05-16 probe: validate passes 44/44 at atol=0.5 (FFT output signals)." +issue = "2026-10-27: validates strictly (atol 0.01, reltol 3e-3, the experiment's horizon): its relaxed settings removed. 2026-05-16 probe: validate passes 44/44 at atol=0.5 (FFT output signals)." [models.May2026_Math_FastFourierTransform_RealFFT2] name = "Modelica.Math.FastFourierTransform.Examples.RealFFT2" domain = "Math.FastFourierTransform" stopTime = 6.0 expected = "validate" -reltol = 0.10 -atol = 0.5 referenceFile = "Math_FastFourierTransform_Examples_RealFFT2" -issue = "2026-05-16 probe: validate passes 23/23 at atol=0.5 (FFT output)." +issue = "2026-10-27: validates strictly (atol 0.01, reltol 3e-3, the experiment's horizon): its relaxed settings removed. 2026-05-16 probe: validate passes 23/23 at atol=0.5 (FFT output)." [models.May2026_Utilities_WriteRealMatrixToFile] name = "Modelica.Utilities.Examples.WriteRealMatrixToFile" domain = "Utilities" stopTime = 0.1 expected = "validate" -reltol = 0.05 -atol = 0.1 referenceFile = "Utilities_Examples_WriteRealMatrixToFile" -issue = "2026-09-29: validates (OMBackend 53acd32: the early initial algorithm called writeRealMatrix unqualified in the model's module and dropped the results; harness check). (Before: 2026-09-29: stopTime 1.0 -> 0.1 (the reference's end). Validate fails on success1..4 (set once at initial(); the reference holds 1): an OM.jl bug. The 2026-05-16 pass at 1.0 was against the reference's value clamped past its end.)" +issue = "2026-10-27: validates strictly (atol 0.01, reltol 3e-3, the experiment's horizon): its relaxed settings removed. 2026-09-29: validates (OMBackend 53acd32: the early initial algorithm called writeRealMatrix unqualified in the model's module and dropped the results; harness check). (Before: 2026-09-29: stopTime 1.0 -> 0.1 (the reference's end). Validate fails on success1..4 (set once at initial(); the reference holds 1): an OM.jl bug. The 2026-05-16 pass at 1.0 was against the reference's value clamped past its end.)" [models.May2026_Math_Random_GenerateRandomNumbers] name = "Modelica.Math.Random.Examples.GenerateRandomNumbers" domain = "Math.Random" -stopTime = 1.0 expected = "validate" -reltol = 0.30 -atol = 5.0 referenceFile = "Math_Random_Examples_GenerateRandomNumbers" -issue = "2026-05-16 probe: validate passes 3/3 at atol=5.0 (stochastic random number generator)." +issue = "2026-10-27: validates strictly (atol 0.01, reltol 3e-3, the experiment's horizon): its relaxed settings removed. 2026-05-16 probe: validate passes 3/3 at atol=5.0 (stochastic random number generator)." [models.May2026_Magnetic_QuasiStatic_FluxTubes_LinearInductor] name = "Modelica.Magnetic.QuasiStatic.FluxTubes.Examples.LinearInductor" @@ -2493,10 +2243,8 @@ name = "Modelica.Media.Examples.Tests.MediaTestModels.Water.ConstantPropertyLiqu domain = "Media" stopTime = 1.01 expected = "validate" -reltol = 0.05 -atol = 0.5 referenceFile = "Media_Examples_Tests_MediaTestModels_Water_ConstantPropertyLiquidWater" -issue = "2026-06-10: redeclared-Medium package-constant collection fix (isUserdefinedClass REDECLARED_CLASS arm + ConstantsSet keyCompare) cleared the volume_Medium_cp_const UndefVarError; simulates to Success and validates against the Dymola reference." +issue = "2026-10-27: validates strictly (atol 0.01, reltol 3e-3, the experiment's horizon): its relaxed settings removed. 2026-06-10: redeclared-Medium package-constant collection fix (isUserdefinedClass REDECLARED_CLASS arm + ConstantsSet keyCompare) cleared the volume_Medium_cp_const UndefVarError; simulates to Success and validates against the Dymola reference." # ========================================================================== # Added 2026-09-27 from a coverage run without the registry's skips (1.13 stack) diff --git a/models/models_4.1.0.toml b/models/models_4.1.0.toml index d462088..1764a2b 100644 --- a/models/models_4.1.0.toml +++ b/models/models_4.1.0.toml @@ -6,6 +6,10 @@ # name, its solver and tolerance settings, inline reference and a stopTime shortened below the # experiment's. Status marks (expected, skipPhases, issue) are left out: they describe 3.2.3 runs. # The fields are documented in models/models.toml. +# +# 2026-10-27: the relaxed validation settings (atol/reltol above 0.01/3e-3, a stopTime short of the experiment's) are +# off the 113 relaxed entries of models that validated: 95 validate strictly, 18 do not (their issue notes the +# finding). A stopTime stays only where the reference ends before the experiment (ChuaCircuit, PointGravityWithPointMasses2). [meta] description = "OM.jl MSL 4.1.0 coverage model registry" @@ -13,382 +17,264 @@ msl_version = "MSL:4.1.0" reference_source = "MAP-LIB_ReferenceResults (Dymola, branch v4.1.0)" [models.Apr25_Blocks_Examples_BusUsage] -atol = 2.0 domain = "Blocks" name = "Modelica.Blocks.Examples.BusUsage" -reltol = 0.1 [models.Apr25_Blocks_Examples_FilterWithDifferentiation] -atol = 0.1 domain = "Blocks" name = "Modelica.Blocks.Examples.FilterWithDifferentiation" -reltol = 0.05 solver = "IDA" -stopTime = 0.01 [models.Apr25_Blocks_Examples_FilterWithRiseTime] -atol = 0.1 domain = "Blocks" name = "Modelica.Blocks.Examples.FilterWithRiseTime" -reltol = 0.1 -stopTime = 0.9 [models.Apr25_Blocks_Examples_SlewRateLimiter] domain = "Blocks" name = "Modelica.Blocks.Examples.SlewRateLimiter" solver = "IDA" -stopTime = 0.01 [models.Apr25_Electrical_Analog_Examples_HeatingPNP_NORGate] atol = 0.01 domain = "Electrical.Analog" name = "Modelica.Electrical.Analog.Examples.HeatingPNP_NORGate" -reltol = 0.01 -stopTime = 0.01 [models.Apr25_Electrical_Analog_Examples_InvertingAmp] -atol = 0.1 domain = "Electrical.Analog" name = "Modelica.Electrical.Analog.Examples.InvertingAmp" -reltol = 0.05 -stopTime = 0.01 [models.Apr25_Electrical_Analog_Examples_OpAmps_Comparator] atol = 0.01 domain = "Electrical.Analog" name = "Modelica.Electrical.Analog.Examples.OpAmps.Comparator" -reltol = 0.01 -stopTime = 0.01 [models.Apr25_Electrical_Analog_Examples_OpAmps_Differentiator] -atol = 0.5 domain = "Electrical.Analog" name = "Modelica.Electrical.Analog.Examples.OpAmps.Differentiator" -reltol = 0.05 solver = "FBDF" -stopTime = 0.01 [models.Apr25_Electrical_Analog_Examples_OpAmps_HighPass] -atol = 0.5 domain = "Electrical.Analog" name = "Modelica.Electrical.Analog.Examples.OpAmps.HighPass" -reltol = 0.05 -stopTime = 0.01 [models.Apr25_Electrical_Analog_Examples_OpAmps_Integrator] -atol = 0.5 domain = "Electrical.Analog" name = "Modelica.Electrical.Analog.Examples.OpAmps.Integrator" -reltol = 0.05 -stopTime = 0.01 [models.Apr25_Electrical_Analog_Examples_OpAmps_LowPass] -atol = 0.5 domain = "Electrical.Analog" name = "Modelica.Electrical.Analog.Examples.OpAmps.LowPass" -reltol = 0.05 -stopTime = 0.01 [models.Apr25_Electrical_Analog_Examples_OpAmps_Multivibrator] -atol = 4.0 domain = "Electrical.Analog" name = "Modelica.Electrical.Analog.Examples.OpAmps.Multivibrator" -reltol = 0.05 -stopTime = 0.01 +issue = "2026-10-27 strict check (atol 0.01, reltol 3e-3, the experiment's horizon): disputed: c.v fails; a phase-sensitive oscillator, and omc misses the reference more than OM.jl. Its relaxed settings removed: it counts as failing until fixed." [models.Apr25_Electrical_Analog_Examples_OpAmps_SchmittTrigger] atol = 0.01 domain = "Electrical.Analog" name = "Modelica.Electrical.Analog.Examples.OpAmps.SchmittTrigger" -reltol = 0.01 -stopTime = 0.01 +issue = "2026-10-27 strict check (atol 0.01, reltol 3e-3, the experiment's horizon): OM.jl's opAmp.out.v differs from the reference; omc matches it. Its relaxed settings removed: it counts as failing until fixed." [models.Apr25_Electrical_Analog_Examples_OpAmps_SignalGenerator] -atol = 12.0 domain = "Electrical.Analog" name = "Modelica.Electrical.Analog.Examples.OpAmps.SignalGenerator" -reltol = 0.05 -stopTime = 0.5 [models.Apr25_Electrical_Analog_Examples_OpAmps_VoltageFollower] atol = 0.01 domain = "Electrical.Analog" name = "Modelica.Electrical.Analog.Examples.OpAmps.VoltageFollower" -reltol = 0.05 -stopTime = 0.01 [models.Apr25_Electrical_Digital_Examples_Adder4] -atol = 0.5 domain = "Electrical.Digital" name = "Modelica.Electrical.Digital.Examples.Adder4" -reltol = 0.05 [models.Apr25_Electrical_Digital_Examples_BUF3S] -atol = 8.0 domain = "Electrical.Digital" name = "Modelica.Electrical.Digital.Examples.BUF3S" -reltol = 0.5 -stopTime = 1.0 +issue = "2026-10-27 strict check (atol 0.01, reltol 3e-3, the experiment's horizon): OM.jl's logic output differs from the reference ('U' where the reference and omc have '0', '1' or 'Z'); omc matches the reference. Its relaxed settings removed: it counts as failing until fixed." [models.Apr25_Electrical_Digital_Examples_Counter3] -atol = 5.0 domain = "Electrical.Digital" name = "Modelica.Electrical.Digital.Examples.Counter3" -reltol = 0.5 -stopTime = 1.0 [models.Apr25_Electrical_Digital_Examples_DFFREG] -atol = 5.0 domain = "Electrical.Digital" name = "Modelica.Electrical.Digital.Examples.DFFREG" -reltol = 0.5 +issue = "2026-10-27 strict check (atol 0.01, reltol 3e-3, the experiment's horizon): OM.jl's logic output differs from the reference ('U' where the reference and omc have '0', '1' or 'Z'); omc matches the reference. Its relaxed settings removed: it counts as failing until fixed." [models.Apr25_Electrical_Digital_Examples_DFFREGL] -atol = 5.0 domain = "Electrical.Digital" name = "Modelica.Electrical.Digital.Examples.DFFREGL" -reltol = 0.5 +issue = "2026-10-27 strict check (atol 0.01, reltol 3e-3, the experiment's horizon): OM.jl's logic output differs from the reference ('U' where the reference and omc have '0', '1' or 'Z'); omc matches the reference. Its relaxed settings removed: it counts as failing until fixed." [models.Apr25_Electrical_Digital_Examples_DFFREGSRH] -atol = 5.0 domain = "Electrical.Digital" name = "Modelica.Electrical.Digital.Examples.DFFREGSRH" -reltol = 0.5 +issue = "2026-10-27 strict check (atol 0.01, reltol 3e-3, the experiment's horizon): OM.jl's logic output differs from the reference ('U' where the reference and omc have '0', '1' or 'Z'); omc matches the reference. Its relaxed settings removed: it counts as failing until fixed." [models.Apr25_Electrical_Digital_Examples_DFFREGSRL] -atol = 5.0 domain = "Electrical.Digital" name = "Modelica.Electrical.Digital.Examples.DFFREGSRL" -reltol = 0.5 +issue = "2026-10-27 strict check (atol 0.01, reltol 3e-3, the experiment's horizon): OM.jl's logic output differs from the reference ('U' where the reference and omc have '0', '1' or 'Z'); omc matches the reference. Its relaxed settings removed: it counts as failing until fixed." [models.Apr25_Electrical_Digital_Examples_DLATREG] -atol = 5.0 domain = "Electrical.Digital" name = "Modelica.Electrical.Digital.Examples.DLATREG" -reltol = 0.5 [models.Apr25_Electrical_Digital_Examples_DLATREGL] -atol = 5.0 domain = "Electrical.Digital" name = "Modelica.Electrical.Digital.Examples.DLATREGL" -reltol = 0.5 [models.Apr25_Electrical_Digital_Examples_DLATREGSRH] -atol = 5.0 domain = "Electrical.Digital" name = "Modelica.Electrical.Digital.Examples.DLATREGSRH" -reltol = 0.5 [models.Apr25_Electrical_Digital_Examples_DLATREGSRL] -atol = 5.0 domain = "Electrical.Digital" name = "Modelica.Electrical.Digital.Examples.DLATREGSRL" -reltol = 0.5 [models.Apr25_Electrical_Digital_Examples_HalfAdder] -atol = 5.0 domain = "Electrical.Digital" name = "Modelica.Electrical.Digital.Examples.HalfAdder" -reltol = 0.5 solver = "Rosenbrock23" -stopTime = 1.0 +issue = "2026-10-27 strict check (atol 0.01, reltol 3e-3, the experiment's horizon): OM.jl's output lacks the reference's initial 'U'; omc matches the reference. Its relaxed settings removed: it counts as failing until fixed." [models.Apr25_Electrical_Digital_Examples_INV3S] -atol = 2.0 domain = "Electrical.Digital" name = "Modelica.Electrical.Digital.Examples.INV3S" -reltol = 0.5 -stopTime = 1.0 +issue = "2026-10-27 strict check (atol 0.01, reltol 3e-3, the experiment's horizon): OM.jl's logic output differs from the reference ('U' where the reference and omc have '0', '1' or 'Z'); omc matches the reference. Its relaxed settings removed: it counts as failing until fixed." [models.Apr25_Electrical_Digital_Examples_MUX2x1] domain = "Electrical.Digital" name = "Modelica.Electrical.Digital.Examples.MUX2x1" -stopTime = 1.0 [models.Apr25_Electrical_Digital_Examples_NRXFER] -atol = 2.0 domain = "Electrical.Digital" name = "Modelica.Electrical.Digital.Examples.NRXFER" -reltol = 0.5 -stopTime = 1.0 +issue = "2026-10-27 strict check (atol 0.01, reltol 3e-3, the experiment's horizon): OM.jl's logic output differs from the reference ('U' where the reference and omc have '0', '1' or 'Z'); omc matches the reference. Its relaxed settings removed: it counts as failing until fixed." [models.Apr25_Electrical_Digital_Examples_NXFER] -atol = 2.0 domain = "Electrical.Digital" name = "Modelica.Electrical.Digital.Examples.NXFER" -reltol = 0.5 -stopTime = 1.0 +issue = "2026-10-27 strict check (atol 0.01, reltol 3e-3, the experiment's horizon): OM.jl's logic output differs from the reference ('U' where the reference and omc have '0', '1' or 'Z'); omc matches the reference. Its relaxed settings removed: it counts as failing until fixed." [models.Apr25_Electrical_Digital_Examples_RAM] -atol = 1.0 domain = "Electrical.Digital" name = "Modelica.Electrical.Digital.Examples.RAM" -reltol = 0.1 [models.Apr25_Electrical_Digital_Examples_WiredX] -atol = 5.0 domain = "Electrical.Digital" name = "Modelica.Electrical.Digital.Examples.WiredX" -reltol = 0.5 -stopTime = 1.0 +issue = "2026-10-27 strict check (atol 0.01, reltol 3e-3, the experiment's horizon): OM.jl's logic output differs from the reference ('U' where the reference and omc have '0', '1' or 'Z'); omc matches the reference. Its relaxed settings removed: it counts as failing until fixed." [models.Apr25_Electrical_Machines_Examples_ControlledDCDrives_CurrentControlledDCPM] -atol = 12.0 domain = "Electrical.Machines" name = "Modelica.Electrical.Machines.Examples.ControlledDCDrives.CurrentControlledDCPM" -reltol = 0.1 [models.Apr25_Electrical_Machines_Examples_ControlledDCDrives_SpeedControlledDCPM] -atol = 12.0 domain = "Electrical.Machines" dtmax = 0.0001 name = "Modelica.Electrical.Machines.Examples.ControlledDCDrives.SpeedControlledDCPM" -reltol = 0.1 -stopTime = 0.5 [models.Apr25_Electrical_Machines_Examples_DCMachines_DCEE_Start] -atol = 12.0 domain = "Electrical.Machines" name = "Modelica.Electrical.Machines.Examples.DCMachines.DCEE_Start" -reltol = 0.05 [models.Apr25_Electrical_Machines_Examples_DCMachines_DCPM_CurrentControlled] -atol = 12.0 domain = "Electrical.Machines" name = "Modelica.Electrical.Machines.Examples.DCMachines.DCPM_CurrentControlled" -reltol = 0.1 [models.Apr25_Electrical_Machines_Examples_DCMachines_DCPM_Start] -atol = 12.0 domain = "Electrical.Machines" dtmax = 0.0001 name = "Modelica.Electrical.Machines.Examples.DCMachines.DCPM_Start" -reltol = 0.05 [models.Apr25_Electrical_Machines_Examples_DCMachines_DCPM_Temperature] -atol = 12.0 domain = "Electrical.Machines" name = "Modelica.Electrical.Machines.Examples.DCMachines.DCPM_Temperature" -reltol = 0.1 -stopTime = 2.0 [models.Apr25_Electrical_Machines_Examples_DCMachines_DCPM_withLosses] -atol = 12.0 domain = "Electrical.Machines" name = "Modelica.Electrical.Machines.Examples.DCMachines.DCPM_withLosses" -reltol = 0.1 [models.Apr25_Electrical_Machines_Examples_DCMachines_DCSE_SinglePhase] -atol = 12.0 domain = "Electrical.Machines" name = "Modelica.Electrical.Machines.Examples.DCMachines.DCSE_SinglePhase" -reltol = 0.05 [models.Apr25_Electrical_Machines_Examples_DCMachines_DCSE_Start] -atol = 12.0 domain = "Electrical.Machines" name = "Modelica.Electrical.Machines.Examples.DCMachines.DCSE_Start" -reltol = 0.1 [models.Apr25_Electrical_Spice3_Examples_CoupledInductors] -atol = 0.2 domain = "Electrical.Spice3" name = "Modelica.Electrical.Spice3.Examples.CoupledInductors" -reltol = 0.05 [models.Apr25_Magnetic_FluxTubes_Examples_MovingCoilActuator_ForceCurrentBehaviour] -atol = 0.5 domain = "Magnetic.FluxTubes" name = "Modelica.Magnetic.FluxTubes.Examples.MovingCoilActuator.ForceCurrentBehaviour" -reltol = 0.05 -stopTime = 0.5 +issue = "2026-10-27 strict check (atol 0.01, reltol 3e-3, the experiment's horizon): disputed: pmActuator.coil.L_stat fails; omc also misses the reference. Its relaxed settings removed: it counts as failing until fixed." [models.Apr25_Magnetic_FluxTubes_Examples_MovingCoilActuator_ForceStrokeBehaviour] -atol = 0.5 domain = "Magnetic.FluxTubes" name = "Modelica.Magnetic.FluxTubes.Examples.MovingCoilActuator.ForceStrokeBehaviour" -reltol = 0.05 -stopTime = 0.5 [models.Apr25_Mechanics_MultiBody_Examples_Elementary_DoublePendulumInitTip] -atol = 0.5 domain = "Mechanics.MultiBody" name = "Modelica.Mechanics.MultiBody.Examples.Elementary.DoublePendulumInitTip" -reltol = 0.3 +issue = "2026-10-27 strict check (atol 0.01, reltol 3e-3, the experiment's horizon): disputed: revolute1.w and revolute2.w fail; omc also misses the reference. Its relaxed settings removed: it counts as failing until fixed." [models.Apr25_Mechanics_MultiBody_Examples_Elementary_PointGravity] -atol = 0.5 domain = "Mechanics.MultiBody" name = "Modelica.Mechanics.MultiBody.Examples.Elementary.PointGravity" -reltol = 0.05 -stopTime = 1.0 +issue = "2026-10-27 strict check (atol 0.01, reltol 3e-3, the experiment's horizon): OM.jl's body2.v_0 is off by up to 0.19 around the close approach; omc matches the reference. Its relaxed settings removed: it counts as failing until fixed." [models.Apr25_Mechanics_MultiBody_Examples_Elementary_SpringDamperSystem] -atol = 0.5 domain = "Mechanics.MultiBody" name = "Modelica.Mechanics.MultiBody.Examples.Elementary.SpringDamperSystem" -reltol = 0.05 [models.Apr25_Mechanics_MultiBody_Examples_Elementary_SpringWithMass] -atol = 0.5 domain = "Mechanics.MultiBody" name = "Modelica.Mechanics.MultiBody.Examples.Elementary.SpringWithMass" -reltol = 0.05 [models.Apr25_Mechanics_MultiBody_Examples_Elementary_UserDefinedGravityField] -atol = 0.5 domain = "Mechanics.MultiBody" name = "Modelica.Mechanics.MultiBody.Examples.Elementary.UserDefinedGravityField" -reltol = 0.05 -stopTime = 1.1 [models.Apr25_Mechanics_MultiBody_Examples_Loops_Engine1b] -atol = 0.1 domain = "Mechanics.MultiBody" name = "Modelica.Mechanics.MultiBody.Examples.Loops.Engine1b" -reltol = 0.05 [models.Apr25_Mechanics_MultiBody_Examples_Loops_Engine1b_analytic] -atol = 0.1 domain = "Mechanics.MultiBody" name = "Modelica.Mechanics.MultiBody.Examples.Loops.Engine1b_analytic" -reltol = 0.05 [models.Apr25_Mechanics_MultiBody_Examples_Loops_PlanarFourbar] -atol = 0.1 domain = "Mechanics.MultiBody" name = "Modelica.Mechanics.MultiBody.Examples.Loops.PlanarFourbar" -reltol = 0.05 [models.Blocks_RealNetwork1] domain = "Blocks" name = "Modelica.Blocks.Examples.RealNetwork1" -stopTime = 2.0 [models.Blocks_Rectifier12pulseFFT] domain = "Blocks" name = "Modelica.Blocks.Examples.Rectifier12pulseFFT" -stopTime = 0.1 [models.CharacteristicIdealDiodes] -atol = 1.0 domain = "Electrical.Analog" name = "Modelica.Electrical.Analog.Examples.CharacteristicIdealDiodes" -reltol = 0.05 -issue = "2026-10-22: the FBDF override (2026-05-22, Rodas5 Unstable at the diodes' switching) removed: FBDF stops with MaxIters, the default solver validates 3/3." +issue = "2026-10-27: validates strictly (atol 0.01, reltol 3e-3, the experiment's horizon): its relaxed settings removed. 2026-10-22: the FBDF override (2026-05-22, Rodas5 Unstable at the diodes' switching) removed: FBDF stops with MaxIters, the default solver validates 3/3." [models.ChuaCircuit] -atol = 5.0 domain = "Electrical.Analog" name = "Modelica.Electrical.Analog.Examples.ChuaCircuit" -reltol = 0.5 -stopTime = 5.0 +stopTime = 3000.0 [models.CompareTransformers] atol = 0.01 domain = "Electrical.Analog" name = "Modelica.Electrical.Analog.Examples.CompareTransformers" -reltol = 0.01 [models.DifferenceAmplifier] domain = "Electrical.Analog" @@ -398,51 +284,35 @@ solverAtol = 0.01 solverReltol = 0.01 [models.DoublePendulum] -atol = 0.05 domain = "Mechanics.MultiBody" name = "Modelica.Mechanics.MultiBody.Examples.Elementary.DoublePendulum" -reltol = 0.01 -stopTime = 1.0 [models.Engine1a] -atol = 0.1 domain = "Mechanics.MultiBody" name = "Modelica.Mechanics.MultiBody.Examples.Loops.Engine1a" -reltol = 0.05 -stopTime = 0.72 [models.Filter] -atol = 2.0 domain = "Blocks" name = "Modelica.Blocks.Examples.Filter" -reltol = 0.1 [models.FluidHeatFlow_OneMass] -atol = 0.5 domain = "Thermal.FluidHeatFlow" name = "Modelica.Thermal.FluidHeatFlow.Examples.OneMass" -reltol = 0.05 -stopTime = 0.2 +issue = "2026-10-27 strict check (atol 0.01, reltol 3e-3, the experiment's horizon): OM.jl's heatCapacitor.T and pipe.T are off by 3-5 K; omc matches the reference. Its relaxed settings removed: it counts as failing until fixed." [models.FluidHeatFlow_ParallelPumpDropOut] -atol = 0.5 domain = "Thermal.FluidHeatFlow" name = "Modelica.Thermal.FluidHeatFlow.Examples.ParallelPumpDropOut" -reltol = 0.05 -stopTime = 0.3 +issue = "2026-10-27 strict check (atol 0.01, reltol 3e-3, the experiment's horizon): OM.jl goes Unstable after the pump drop-out (the old stopTime 0.3 s stopped before it); omc simulates the 2 s. Its relaxed settings removed: it counts as failing until fixed." [models.FluidHeatFlow_PumpAndValve] -atol = 0.5 domain = "Thermal.FluidHeatFlow" name = "Modelica.Thermal.FluidHeatFlow.Examples.PumpAndValve" -reltol = 0.05 [models.FluidHeatFlow_PumpDropOut] -atol = 0.5 domain = "Thermal.FluidHeatFlow" name = "Modelica.Thermal.FluidHeatFlow.Examples.PumpDropOut" -reltol = 0.05 -stopTime = 0.3 +issue = "2026-10-27 strict check (atol 0.01, reltol 3e-3, the experiment's horizon): OM.jl goes Unstable after the pump drop-out (the old stopTime 0.3 s stopped before it); omc simulates the 2 s. Its relaxed settings removed: it counts as failing until fixed." [models.Fluid_HeatExchangerSimulation] domain = "Fluid" @@ -452,25 +322,19 @@ stopTime = 1.0 [models.FreeBody] domain = "Mechanics.MultiBody" name = "Modelica.Mechanics.MultiBody.Examples.Elementary.FreeBody" -stopTime = 1.0 [models.HeatingRectifier] -atol = 2.5 domain = "Electrical.Analog" name = "Modelica.Electrical.Analog.Examples.HeatingRectifier" -reltol = 0.1 [models.IdealTriacCircuit] -atol = 5.0 domain = "Electrical.Analog" name = "Modelica.Electrical.Analog.Examples.IdealTriacCircuit" -reltol = 0.1 [models.InverseModel] atol = 0.01 domain = "Blocks" name = "Modelica.Blocks.Examples.InverseModel" -reltol = 0.01 [models.Magnetic_HysteresisModelComparison] domain = "Magnetic.FluxTubes" @@ -481,96 +345,69 @@ stopTime = 1.0 atol = 0.01 domain = "Electrical.Analog" name = "Modelica.Electrical.Analog.Examples.CauerLowPassAnalog" -reltol = 0.01 [models.May2026_Analog_GenerationOfFMUs] atol = 0.01 domain = "Electrical.Analog" name = "Modelica.Electrical.Analog.Examples.GenerationOfFMUs" -reltol = 0.01 [models.May2026_Analog_ResonanceCircuits] atol = 0.01 domain = "Electrical.Analog" name = "Modelica.Electrical.Analog.Examples.ResonanceCircuits" -reltol = 0.01 [models.May2026_Electrical_Analog_Examples_OpAmps_LCOscillator] -atol = 0.05 domain = "Electrical.Analog" name = "Modelica.Electrical.Analog.Examples.OpAmps.LCOscillator" -reltol = 0.05 [models.May2026_Magnetic_FundamentalWave_SinglePhaseInductance] -atol = 0.5 domain = "Magnetic.FundamentalWave" name = "Modelica.Magnetic.FundamentalWave.Examples.Components.SinglePhaseInductance" -reltol = 0.1 -stopTime = 1.0 [models.May2026_Math_FastFourierTransform_RealFFT1] -atol = 0.5 domain = "Math.FastFourierTransform" name = "Modelica.Math.FastFourierTransform.Examples.RealFFT1" -reltol = 0.1 [models.May2026_Math_FastFourierTransform_RealFFT2] -atol = 0.5 domain = "Math.FastFourierTransform" name = "Modelica.Math.FastFourierTransform.Examples.RealFFT2" -reltol = 0.1 [models.May2026_Math_Random_GenerateRandomNumbers] -atol = 5.0 domain = "Math.Random" name = "Modelica.Math.Random.Examples.GenerateRandomNumbers" -reltol = 0.3 -stopTime = 1.0 [models.May2026_MultiBody_Surfaces] -atol = 0.5 domain = "Mechanics.MultiBody" name = "Modelica.Mechanics.MultiBody.Examples.Elementary.Surfaces" -reltol = 0.1 -stopTime = 0.5 [models.May2026_Translational_Sensors] atol = 0.01 domain = "Mechanics.Translational" name = "Modelica.Mechanics.Translational.Examples.Sensors" -reltol = 0.01 [models.May2026_Utilities_WriteRealMatrixToFile] -atol = 0.1 domain = "Utilities" name = "Modelica.Utilities.Examples.WriteRealMatrixToFile" -reltol = 0.05 [models.Mechanics_Rotational_Examples_Backlash] -atol = 50.0 domain = "Mechanics.Rotational" name = "Modelica.Mechanics.Rotational.Examples.Backlash" -reltol = 0.3 [models.Media_DryAir1] domain = "Media" name = "Modelica.Media.Examples.ReferenceAir.DryAir1" -stopTime = 1.0 [models.Media_DryAir2] domain = "Media" name = "Modelica.Media.Examples.ReferenceAir.DryAir2" -stopTime = 1.0 [models.Media_TestGlycol] domain = "Media" name = "Modelica.Media.Incompressible.Examples.TestGlycol" -stopTime = 1.0 [models.Media_TestTwoPhaseStates] domain = "Media" name = "Modelica.Media.Examples.TwoPhaseWater.TestTwoPhaseStates" -stopTime = 1.0 [models.MultiBody_EngineV6] domain = "Mechanics.MultiBody" @@ -580,7 +417,6 @@ stopTime = 1.0 [models.MultiBody_EngineV6_analytic] domain = "Mechanics.MultiBody" name = "Modelica.Mechanics.MultiBody.Examples.Loops.EngineV6_analytic" -stopTime = 1.0 [models.MultiBody_PlanarLoops_analytic] domain = "Mechanics.MultiBody" @@ -591,52 +427,39 @@ stopTime = 1.0 atol = 0.01 domain = "Mechanics.Translational" name = "Modelica.Mechanics.Translational.Examples.Oscillator" -reltol = 0.01 [models.OvervoltageProtection] atol = 0.01 domain = "Electrical.Analog" name = "Modelica.Electrical.Analog.Examples.OvervoltageProtection" -reltol = 0.01 [models.PID_Controller] -atol = 0.1 domain = "Blocks" name = "Modelica.Blocks.Examples.PID_Controller" -reltol = 0.05 solver = "FBDF" [models.Pendulum] atol = 0.01 domain = "Mechanics.MultiBody" name = "Modelica.Mechanics.MultiBody.Examples.Elementary.Pendulum" -reltol = 0.01 -stopTime = 1.0 [models.Rotational_ElasticBearing] -atol = 0.5 domain = "Mechanics.Rotational" name = "Modelica.Mechanics.Rotational.Examples.ElasticBearing" -reltol = 0.1 [models.Rotational_First] atol = 0.01 domain = "Mechanics.Rotational" name = "Modelica.Mechanics.Rotational.Examples.First" -reltol = 0.01 [models.Rotational_HeatLosses] -atol = 1.0 domain = "Mechanics.Rotational" name = "Modelica.Mechanics.Rotational.Examples.HeatLosses" -reltol = 0.05 [models.Rotational_LossyGearDemo1] -atol = 1.0 domain = "Mechanics.Rotational" initializealg = "BrownFullBasicInit" name = "Modelica.Mechanics.Rotational.Examples.LossyGearDemo1" -reltol = 0.1 [models.Rotational_OneWayClutchDisengaged] domain = "Mechanics.Rotational" @@ -644,29 +467,23 @@ name = "Modelica.Mechanics.Rotational.Examples.OneWayClutchDisengaged" solverReltol = 1.0e-8 [models.Rotational_RollingWheel] -atol = 5.0 domain = "Mechanics.Rotational" name = "Modelica.Mechanics.Rotational.Examples.RollingWheel" -reltol = 0.05 -stopTime = 1.0 [models.ShowSaturatingInductor] atol = 0.01 domain = "Electrical.Analog" name = "Modelica.Electrical.Analog.Examples.ShowSaturatingInductor" -reltol = 0.01 [models.ShowVariableResistor] atol = 0.01 domain = "Electrical.Analog" name = "Modelica.Electrical.Analog.Examples.ShowVariableResistor" -reltol = 0.01 [models.SignConvention] atol = 0.01 domain = "Mechanics.Translational" name = "Modelica.Mechanics.Translational.Examples.SignConvention" -reltol = 0.01 [models.SimpleTriacCircuit] domain = "Electrical.Analog" @@ -676,46 +493,34 @@ solver = "IDA" [models.StateGraph_ExecutionPaths] domain = "StateGraph" name = "Modelica.StateGraph.Examples.ExecutionPaths" -stopTime = 15.0 [models.StateGraph_FirstExample] domain = "StateGraph" name = "Modelica.StateGraph.Examples.FirstExample" -stopTime = 5.0 [models.StateGraph_FirstExample_Variant2] domain = "StateGraph" name = "Modelica.StateGraph.Examples.FirstExample_Variant2" -stopTime = 5.0 [models.StateGraph_FirstExample_Variant3] domain = "StateGraph" name = "Modelica.StateGraph.Examples.FirstExample_Variant3" -stopTime = 5.0 [models.StateGraph_ShowCompositeStep] domain = "StateGraph" name = "Modelica.StateGraph.Examples.ShowCompositeStep" -stopTime = 5.0 [models.Thermal_ControlledTemperature] -atol = 2.0 domain = "Thermal.HeatTransfer" name = "Modelica.Thermal.HeatTransfer.Examples.ControlledTemperature" -reltol = 0.2 -stopTime = 0.5 [models.Thermal_GenerationOfFMUs] -atol = 0.5 domain = "Thermal.HeatTransfer" name = "Modelica.Thermal.HeatTransfer.Examples.GenerationOfFMUs" -reltol = 0.05 [models.Thermal_Motor] -atol = 2.0 domain = "Thermal.HeatTransfer" name = "Modelica.Thermal.HeatTransfer.Examples.Motor" -stopTime = 2000.0 [models.Thermal_Motor.reference] core_T = 323.766 @@ -724,7 +529,6 @@ stopTime = 2000.0 [models.ThreeSprings] domain = "Mechanics.MultiBody" name = "Modelica.Mechanics.MultiBody.Examples.Elementary.ThreeSprings" -stopTime = 1.0 [models.Translational_Brake] domain = "Mechanics.Translational" @@ -735,21 +539,15 @@ name = "Modelica.Mechanics.Translational.Examples.Brake" atol = 0.01 domain = "Mechanics.Translational" name = "Modelica.Mechanics.Translational.Examples.Damper" -reltol = 0.01 [models.Translational_ElastoGap] -atol = 5.0 domain = "Mechanics.Translational" dtmax = 0.0001 name = "Modelica.Mechanics.Translational.Examples.ElastoGap" -reltol = 0.1 -stopTime = 1.0 [models.Translational_InitialConditions] -atol = 30.0 domain = "Mechanics.Translational" name = "Modelica.Mechanics.Translational.Examples.InitialConditions" -reltol = 0.2 [models.Translational_PreLoad] domain = "Mechanics.Translational" @@ -760,18 +558,14 @@ solver = "IDA" atol = 0.01 domain = "Mechanics.Translational" name = "Modelica.Mechanics.Translational.Examples.WhyArrows" -reltol = 0.01 [models.TwoMasses] -atol = 0.1 domain = "Thermal.HeatTransfer" name = "Modelica.Thermal.HeatTransfer.Examples.TwoMasses" -reltol = 0.01 [models.Utilities_readRealParameterModel] domain = "Utilities" name = "Modelica.Utilities.Examples.readRealParameterModel" -stopTime = 0.0 [models.Mechanics_MultiBody_Examples_Rotational3DEffects_BevelGear1D] name = "Modelica.Mechanics.MultiBody.Examples.Rotational3DEffects.BevelGear1D"