Skip to content

Machines fixes: observed filter closure, event iteration, error control (0.8.4) - #95

Closed
JKRT wants to merge 3 commits into
masterfrom
machines-cluster
Closed

JKRT wants to merge 3 commits into
masterfrom
machines-cluster

Conversation

@JKRT

@JKRT JKRT commented Oct 29, 2026 •

Copy link
Copy Markdown
Member

Fixes from the MSL 4.1.0 electrical machines cluster (0.8.4):

  • Observed filter: the closure also keeps what the alias and eliminated variables' observations and the events read (IMC_DCBraking, SMPM_NoLoad, IMC_withLosses, SMPM_Braking, FullRobot).
  • Event iteration:
    • A failed re-solve in a cluster's mixed system no longer ends the instant (SwitchYDwithArc).
    • Neither does a failed re-solve at the event in the modes from before it. The relations are read at the crossing, and the modes they switch to are solved there. An arc's quench caught past its window with OrdinaryDiffEqCore 4.19 ended the solve.
    • No rounding rule for a relation located at this instant.
    • A relation hovering on its boundary gets the band at the tolerance (IMC_YDarc's quench relations: 46k events to 2 s before).
    • The degenerate-restart memory is reset at the start of a solve. A second solve of a cached build took another path.
  • Error control: every $DER_ unknown is left out of it, as omc controls only the states (IMC_YDarc stalled at 2.0027 s).
  • A failed build's module is evaluated again, so its simulate fails on the build's error rather than on freed tables.

Tests: observedFilterTests, arcSwitchTests (quench times and currents against the circuit's equations written out by hand), exactZeroRelationTests, eventIterationTests, solveKwargsTests. Local runs on today's packages: OMBackend 1113/1113, OM.jl suite 1878 pass / 6 broken, OMLibraryTesting 156/156. MSL 4.1.0 Electrical.Machines, Magnetic.FundamentalWave and Mechanics.MultiBody (112 models) validate 108; master's CI run tonight: 108. IMC_YDarc now validates; the 4 that don't are known (SMPM_NoLoad hallSensor, PointGravityWithPointMasses2, PlanarLoops_analytic, and EngineV6_analytic at the local memory cap).

Pairs with OpenModelica/OMLibraryTesting.jl#16 and JKRT/OM.jl#80 (branch machines-cluster). Merge this first.

🤖 Generated with Claude Code

…ol (0.8.4)

- Observed filter: the closure also seeds from the alias and eliminated variables'
  observations and from what events read (MSL IMC_DCBraking, SMPM_NoLoad, FullRobot).
- Event iteration: a failed re-solve in a cluster's mixed system puts its return code
  back (SwitchYDwithArc); so does a failed re-solve at the event in the modes from before
  it, and the relations are read at the crossing (an arc's quench caught past its window
  with OrdinaryDiffEqCore 4.19); no rounding rule for a relation located at this instant;
  a relation hovering on its boundary gets the band at the tolerance (IMC_YDarc's quench);
  the memory of degenerate step restarts is reset at the start of a solve (a second solve
  of a cached build took another path).
- Error control: every $DER_ unknown out of it, as omc controls the states only
  (IMC_YDarc stalled at 2.0027 s).
- A failed build's module is evaluated again, so its simulate fails on the build's error.
- Tests: observedFilterTests, arcSwitchTests (quench times and currents against the
  circuit's equations written out by hand), exactZeroRelationTests, eventIterationTests,
  solveKwargsTests.

Assisted-by: Claude Opus 5.5
JKRT added 2 commits October 29, 2026 22:39
Interpolated values through canonicalSymbol instead of matching printed
symbols; each arc's quench time from its opener's `quenched` instead of
repeated solution times.

Assisted-by: Claude Opus 5.5
The test model's switches call the state `arcOff` (MSL: `quenched`); the
comments say the arc goes out rather than quenches.

Assisted-by: Claude Opus 5.5
@JKRT JKRT closed this Oct 29, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant