MSL 4.1.0 coverage of OM.jl
Measured 2026-10-13: 534 example models of the Modelica Standard Library 4.1.0, each run through OM.jl's pipeline (flatten, translate, simulate) and validated against the reference trajectories. No-skip run on GitHub Actions (ubuntu-latest, Julia 1.13), 2 shards of 1 workers, 600 s per model.
Commits: OM.jl 039656b, Absyn.jl 690c071, ArrayUtil.jl 45ec370, DAE.jl 29da583, DoubleEnded.jl 3955cc5, ImmutableList.jl 132055a, ListUtil.jl 3d2d0c3, MetaModelica.jl 3814d38, OMBackend.jl 7ff85a9, OMFrontend.jl 9573d13, OMLibraryTesting.jl 94fe143, OMParser.jl 82e4923, OMRuntimeExternalC.jl 6a4dc5d, SCode.jl 86e7838.
Generated by scripts/publish_coverage.jl from the run's results; do not edit by hand.
Summary
| Phase reached | Models | Share |
|---|---|---|
| frontend | 533 | 99.8 % |
| backend | 437 | 81.8 % |
| simulate | 373 | 69.9 % |
| validate | 343 | 64.2 % |
| total | 534 |
Per domain
| Domain | Models | Validate | Simulate only | Backend only | Frontend only | None |
|---|---|---|---|---|---|---|
| Blocks | 31 | 21 | 3 | 3 | 4 | 0 |
| Clocked | 77 | 2 | 1 | 0 | 74 | 0 |
| ComplexBlocks | 2 | 2 | 0 | 0 | 0 | 0 |
| Electrical.Analog | 55 | 45 | 2 | 5 | 3 | 0 |
| Electrical.Batteries | 8 | 5 | 1 | 0 | 2 | 0 |
| Electrical.Digital | 23 | 21 | 0 | 2 | 0 | 0 |
| Electrical.Machines | 43 | 32 | 7 | 4 | 0 | 0 |
| Electrical.Polyphase | 5 | 4 | 1 | 0 | 0 | 0 |
| Electrical.PowerConverters | 47 | 39 | 4 | 3 | 1 | 0 |
| Electrical.QuasiStatic | 11 | 11 | 0 | 0 | 0 | 0 |
| Electrical.Spice3 | 14 | 8 | 1 | 3 | 2 | 0 |
| Fluid | 23 | 7 | 0 | 16 | 0 | 0 |
| Magnetic.FluxTubes | 14 | 8 | 1 | 5 | 0 | 0 |
| Magnetic.FundamentalWave | 27 | 22 | 2 | 3 | 0 | 0 |
| Magnetic.QuasiStatic | 28 | 24 | 1 | 3 | 0 | 0 |
| Math.FastFourierTransform | 2 | 2 | 0 | 0 | 0 | 0 |
| Math.Nonlinear | 1 | 1 | 0 | 0 | 0 | 0 |
| Math.Random | 1 | 1 | 0 | 0 | 0 | 0 |
| Mechanics.MultiBody | 42 | 28 | 1 | 10 | 3 | 0 |
| Mechanics.Rotational | 17 | 15 | 2 | 0 | 0 | 0 |
| Mechanics.Translational | 16 | 15 | 1 | 0 | 0 | 0 |
| Media | 20 | 10 | 0 | 3 | 7 | 0 |
| Media.Incompressible | 1 | 1 | 0 | 0 | 0 | 0 |
| StateGraph | 7 | 5 | 1 | 1 | 0 | 0 |
| Thermal.FluidHeatFlow | 12 | 9 | 0 | 3 | 0 | 0 |
| Thermal.HeatTransfer | 4 | 4 | 0 | 0 | 0 | 0 |
| Utilities | 3 | 1 | 1 | 0 | 0 | 1 |
What stops the models that do not validate
Grouped by the last phase a model reached and its first error (names and numbers blanked).
| Stops after | Models | First error | Examples |
|---|---|---|---|
| frontend | 77 | UndefVarError: … not defined in … | Blocks.Examples.DemonstrateContinuousSignalExtrema, Clocked.Examples.CascadeControlledDrive.AbsoluteClocks |
| backend | 20 | Simulation retcode: Unstable | Blocks.Examples.Noise.NormalNoiseProperties, Blocks.Examples.Noise.UniformNoiseProperties |
| backend | 9 | Simulation retcode: InitialFailure | Electrical.Spice3.Examples.Inverter, Electrical.Spice3.Examples.Spice3BenchmarkDifferentialPair |
| backend | 5 | Simulation retcode: MaxIters | Electrical.Analog.Examples.SimpleTriacCircuit, Electrical.Machines.Examples.SynchronousMachines.SMEE_LoadDump |
| frontend | 4 | UnsupportedLowering: a record assignment from this expression: r_N[N] | Media.Examples.ReferenceAir.InverseshTX, Media.Examples.ReferenceAir.MoistAir |
| backend | 3 | DAE init: residual N exceeds threshold N; refusing inconsistent ICs. Worst: | Fluid.Examples.Explanatory.MomentumBalanceFittings, Magnetic.FluxTubes.Examples.BasicExamples.QuadraticCoreAirgap |
| backend | 3 | InterruptException: | Electrical.Machines.Examples.InductionMachines.IMCInverterDrive, Electrical.PowerConverters.Examples.DCDC.HBridge.HBridgeDC_Drive |
| backend | 3 | InvalidSystemException: The system is structurally singular! Here are the problematic vari | Electrical.Analog.Examples.HeatingNPNNORGate, Electrical.Analog.Examples.HeatingPNPNORGate |
| frontend | 3 | AssertionError: Non-numeric start attributes are not currently supported | Electrical.Analog.Examples.DemonstrateLightning, Electrical.Analog.Examples.Lines.LightningLosslessTransmissionLine |
| frontend | 3 | InterruptException: | Blocks.Examples.Rectifier12pulseFFT, Blocks.Examples.Rectifier6pulseFFT |
| backend | 2 | Derivative of ModelicaMediaWaterIFNUtilitiesrhoph(N, | Fluid.Examples.ASTBatchPlant.BatchPlantStandardWater, Fluid.Examples.Explanatory.MeasuringTemperature |
| backend | 2 | DomainError with -N: | Media.Examples.ReferenceAir.DryAir1, Media.Examples.ReferenceAir.DryAir2 |
| backend | 2 | UndefVarError: … not defined in … | Electrical.Analog.Examples.DemoPowerSupply, Fluid.Examples.PumpingSystem |
| backend | 2 | UnsupportedLowering: derivative initial equations on algebraic or observed variables witho | Fluid.Examples.HeatExchanger.HeatExchangerSimulation, Fluid.Examples.HeatingSystem |
| backend | 2 | UnsupportedLowering: fixed start values or initial equations that the initialization canno | Blocks.Examples.Noise.ImpureGenerator, Electrical.Analog.Examples.DemoPowerSupplyWithBuffer |
| backend | 2 | UnsupportedLowering: initialization equations that do not reduce to the states and paramet | Fluid.Examples.ControlledTankSystem.ControlledTanks, StateGraph.Examples.ControlledTanks |
| frontend | 2 | Error: | Electrical.Spice3.Examples.Graetz, Electrical.Spice3.Examples.Spice3BenchmarkFourBitBinaryAdder |
| frontend | 2 | UndefVarError: … not defined in local scope | Media.Examples.R134a.R134a1, Media.Examples.R134a.R134a2 |
| simulate | 2 | Validation failed for signals: capacitorN.v, capacitorN.v, filter.x[N], filter.x[N], smee. | Electrical.Machines.Examples.SynchronousMachines.SMEERectifier, Magnetic.FundamentalWave.Examples.BasicMachines.SynchronousMachines.SMEERectifier |
| backend | 1 | ArgumentError: The equations have at least one cycle. | Mechanics.MultiBody.Examples.Elementary.RollingWheel |
| backend | 1 | BoundsError: attempt to access N-element Vector{Matrix{IntN}} at index [N, N, N] | Electrical.Digital.Examples.MUX2x1 |
| backend | 1 | BoundsError: attempt to access Num at index [N] | Mechanics.MultiBody.Examples.Loops.PlanarLoops_analytic |
| backend | 1 | DirectRHS: structural imbalance in reduced system: N full_equations vs N unknowns. The mod | Electrical.PowerConverters.Examples.DCAC.PolyphaseTwoLevel.PolyphaseTwoLevel_RL |
| backend | 1 | IFN medium function tsat called with too low pressure\np = -N Pa <= N Pa (triple point pre | Fluid.Examples.DrumBoiler.DrumBoiler |
| backend | 1 | ModelicaInternal_readLine failed: Not possible to open file "…" for reading: | Electrical.Digital.Examples.RAM |
| backend | 1 | OverflowError: -N * -N overflowed for type IntN | Fluid.Examples.BranchingDynamicPipes |
| backend | 1 | The arguments umin and umax provided in the function call\n solveOneNonlinearEquation(f, | Media.Examples.PsychrometricData |
| backend | 1 | UnsupportedLowering: initialization equations that give a variable two values: N = N and N | Electrical.Machines.Examples.SynchronousMachines.SMPM_ResistiveBraking |
| frontend | 1 | FieldError: type OMBackend.SimulationCode.INLINEIFEQUATION has no field …, available f | Electrical.PowerConverters.Examples.ACAC.SoftStarter |
| frontend | 1 | UnsupportedLowering: a partial application of a function with a record input: data | Media.Examples.SolveOneNonlinearEquation.InverseshT |
| frontend | 1 | UnsupportedLowering: not a constant: (! rSFlipFlop_Qini) | Blocks.Examples.BooleanNetwork1 |
| frontend | 1 | UnsupportedLowering: not a constant: stackcell[N][N]SOCN | Electrical.Batteries.Examples.CCCV_Stack |
| frontend | 1 | generateInitialEquations: unexpected unexpanded OMBackend.SimulationCode.ARRAY_EQUATION in | Electrical.Batteries.Examples.CCCV_StackRC |
| none | 1 | ModelicaIO_readMatrixSizes failed: Not possible to open file "…": No such file or director | Utilities.Examples.ReadRealMatrixFromFile |
| simulate | 1 | Validation compared no signal: none of the N reference signals is in the solution | Utilities.Examples.readRealParameterModel |
| simulate | 1 | Validation failed for signals: // aimc.iNs, aimc.idqrr[N], aimc.idqrr[N], aimc.idq_sr[ | Electrical.Machines.Examples.InductionMachines.IMC_YDarc |
| simulate | 1 | Validation failed for signals: // smpm.stator.zeroInductor.iN, smpm.is[N] | Magnetic.FundamentalWave.Examples.BasicMachines.SynchronousMachines.SMPM_Braking |
| simulate | 1 | Validation failed for signals: Hw.xscaled[N], Hw.xscaled[N] | Blocks.Examples.Noise.DrydenContinuousTurbulence |
| simulate | 1 | Validation failed for signals: JN.D.v | Electrical.Spice3.Examples.CascodeCircuit |
| simulate | 1 | Validation failed for signals: PI.y | Clocked.Examples.CascadeControlledDrive.Continuous |
| simulate | 1 | Validation failed for signals: aimc.idqrr[N], aimc.idqrr[N], aimc.idqsr[N], aimc.idqsr | Electrical.Machines.Examples.InductionMachines.IMC_YD |
| simulate | 1 | Validation failed for signals: aimc.idq_sr[N] | Electrical.Machines.Examples.InductionMachines.IMC_Steinmetz |
| simulate | 1 | Validation failed for signals: bearingFriction.mode, bearingFriction.startForward | Mechanics.Rotational.Examples.LossyGearDemo2 |
| simulate | 1 | Validation failed for signals: brake.mode | Mechanics.Rotational.Examples.SimpleGearShift |
| simulate | 1 | Validation failed for signals: cDCN.v, cDCN.v, supplyL.inductor[N].i, supplyL.inductor[N]. | Electrical.Polyphase.Examples.Rectifier |
| simulate | 1 | Validation failed for signals: compositeStep.compositeStepN.transition.enableFire, transit | StateGraph.Examples.ShowExceptions |
| simulate | 1 | Validation failed for signals: controller.speed_PI.x, controller.busdelay.y | Blocks.Examples.Noise.ActuatorWithNoise |
| simulate | 1 | Validation failed for signals: energy.y, superCap.capacitor.v | Electrical.Batteries.Examples.SuperCapDischargeCharge |
| simulate | 1 | Validation failed for signals: fieldWeakeningController.vs, fieldWeakeningController.is, f | Magnetic.QuasiStatic.FundamentalWave.Examples.BasicMachines.SynchronousMachines.SMPM_FieldWeakening |
| simulate | 1 | Validation failed for signals: filter[N].x[N], filter[N].x[N], filter[N].x[N], filter[N].x | Electrical.PowerConverters.Examples.DCAC.PolyphaseTwoLevel.ThreePhaseTwoLevel_PWM |
| simulate | 1 | Validation failed for signals: hbridge.iDCN | Electrical.PowerConverters.Examples.DCDC.HBridge.HBridge_RL |
| simulate | 1 | Validation failed for signals: imc.idqrr[N], imc.idqrr[N], imc.idqsr[N], imc.idqsr[N] | Electrical.Machines.Examples.InductionMachines.IMC_DCBraking |
| simulate | 1 | Validation failed for signals: inverter.ac.v, inverter.ac.i | Electrical.PowerConverters.Examples.DCAC.SinglePhaseTwoLevel.SinglePhaseTwoLevel_R |
| simulate | 1 | Validation failed for signals: lineN.vN, lineN.vN, lineN.iN, lineN.vN, lineN.vN, lineN.iN, | Electrical.Analog.Examples.Lines.CompareLosslessLines |
| simulate | 1 | Validation failed for signals: rmFe.mur, r_mFe.H | Magnetic.FluxTubes.Examples.BasicExamples.SaturatedInductor |
| simulate | 1 | Validation failed for signals: rectifier.pren[N].u, rectifier.pren[N].u, rectifier.pre_n | Electrical.PowerConverters.Examples.ACDC.RectifierBridge2mPulse.ThyristorBridge2mPulseDCDrive |
| simulate | 1 | Validation failed for signals: smr.idq_rr[N] | Electrical.Machines.Examples.SynchronousMachines.SMR_DOL |
| simulate | 1 | Validation failed for signals: springDamperN.v_rel, massWithStopAndFriction.mode | Mechanics.Translational.Examples.HeatLosses |
| simulate | 1 | Validation failed for signals: start.on, start.reset[N], stop.on, stop.reset[N] | Blocks.Examples.Interaction1 |
| simulate | 1 | stopTime N is past the end of reference ElectricalAnalogExamples_DifferenceAmplifier (N) | Electrical.Analog.Examples.DifferenceAmplifier |
| simulate | 1 | stopTime N is past the end of reference ElectricalMachinesExamplesSynchronousMachinesS | Electrical.Machines.Examples.SynchronousMachines.SMPM_NoLoad |
| simulate | 1 | stopTime N is past the end of reference MechanicsMultiBodyExamplesRotationalNDEffectsB | Mechanics.MultiBody.Examples.Rotational3DEffects.BevelGear1D |
Models that simulate but do not validate
Blocks.Examples.Interaction1: Validation failed for signals: start.on, start.reset[1], stop.on, stop.reset[1]
Blocks.Examples.Noise.ActuatorWithNoise: Validation failed for signals: controller.speed_PI.x, controller.busdelay.y
Blocks.Examples.Noise.DrydenContinuousTurbulence: Validation failed for signals: Hw.xscaled[1], Hw.xscaled[2]
Clocked.Examples.CascadeControlledDrive.Continuous: Validation failed for signals: PI.y
Electrical.Analog.Examples.DifferenceAmplifier: stopTime 1.0e-8 is past the end of reference ElectricalAnalogExamples_DifferenceAmplifier (9.9999999e-9)
Electrical.Analog.Examples.Lines.CompareLosslessLines: Validation failed for signals: line1.v1, line1.v2, line1.i1, line2.v1, line2.v2, line2.i1, line2.i2, line3.v1,
Electrical.Batteries.Examples.SuperCapDischargeCharge: Validation failed for signals: energy.y, superCap.capacitor.v
Electrical.Machines.Examples.InductionMachines.IMCDCBraking: Validation failed for signals: imc.idqrr[1], imc.idqrr[2], imc.idqsr[1], imc.idq_sr[2]
Electrical.Machines.Examples.InductionMachines.IMCSteinmetz: Validation failed for signals: aimc.idqsr[1]
Electrical.Machines.Examples.InductionMachines.IMCYD: Validation failed for signals: aimc.idqrr[1], aimc.idqrr[2], aimc.idqsr[1], aimc.idq_sr[2]
Electrical.Machines.Examples.InductionMachines.IMCYDarc: Validation failed for signals: // aimc.i0s, aimc.idqrr[1], aimc.idqrr[2], aimc.idqsr[1], aimc.idq_sr[2]
Electrical.Machines.Examples.SynchronousMachines.SMEE_Rectifier: Validation failed for signals: capacitor1.v, capacitor2.v, filter.x[1], filter.x[2], smee.is[1], smee.is[2], s
Electrical.Machines.Examples.SynchronousMachines.SMPMNoLoad: stopTime 0.32 is past the end of reference ElectricalMachinesExamplesSynchronousMachinesSMPMNoLoad (0.319
Electrical.Machines.Examples.SynchronousMachines.SMRDOL: Validation failed for signals: smr.idqrr[2]
Electrical.Polyphase.Examples.Rectifier: Validation failed for signals: cDC1.v, cDC2.v, supplyL.inductor[2].i, supplyL.inductor[3].i
Electrical.PowerConverters.Examples.ACDC.RectifierBridge2mPulse.ThyristorBridge2mPulseDCDrive: Validation failed for signals: rectifier.pren[1].u, rectifier.pren[2].u, rectifier.pre_n[3].u, rectifier.pre
Electrical.PowerConverters.Examples.DCAC.PolyphaseTwoLevel.ThreePhaseTwoLevel_PWM: Validation failed for signals: filter[1].x[1], filter[1].x[2], filter[2].x[1], filter[2].x[2], toPolar.y[1], t
Electrical.PowerConverters.Examples.DCAC.SinglePhaseTwoLevel.SinglePhaseTwoLevel_R: Validation failed for signals: inverter.ac.v, inverter.ac.i
Electrical.PowerConverters.Examples.DCDC.HBridge.HBridge_RL: Validation failed for signals: hbridge.iDC1
Electrical.Spice3.Examples.CascodeCircuit: Validation failed for signals: J2.D.v
Magnetic.FluxTubes.Examples.BasicExamples.SaturatedInductor: Validation failed for signals: rmFe.mur, r_mFe.H
Magnetic.FundamentalWave.Examples.BasicMachines.SynchronousMachines.SMEE_Rectifier: Validation failed for signals: capacitor1.v, capacitor2.v, filter.x[1], filter.x[2], smee.is[1], smee.is[2], s
Magnetic.FundamentalWave.Examples.BasicMachines.SynchronousMachines.SMPM_Braking: Validation failed for signals: // smpm.stator.zeroInductor.i0, smpm.is[1]
Magnetic.QuasiStatic.FundamentalWave.Examples.BasicMachines.SynchronousMachines.SMPM_FieldWeakening: Validation failed for signals: fieldWeakeningController.vs, fieldWeakeningController.is, fieldWeakeningControl
Mechanics.MultiBody.Examples.Rotational3DEffects.BevelGear1D: stopTime 1.0 is past the end of reference MechanicsMultiBodyExamplesRotational3DEffectsBevelGear1D (0.4000
Mechanics.Rotational.Examples.LossyGearDemo2: Validation failed for signals: bearingFriction.mode, bearingFriction.startForward
Mechanics.Rotational.Examples.SimpleGearShift: Validation failed for signals: brake.mode
Mechanics.Translational.Examples.HeatLosses: Validation failed for signals: springDamper1.v_rel, massWithStopAndFriction.mode
StateGraph.Examples.ShowExceptions: Validation failed for signals: compositeStep.compositeStep12.transition.enableFire, transition3.enableFire, tr
Utilities.Examples.readRealParameterModel: Validation compared no signal: none of the 3 reference signals is in the solution