Skip to content

model

Planned, wave 4: MapleSim-style symbolic acausal modelling on top of the DAE solver and go-symbolic.

Status: planned (wave 4, item 22 of the plan). No code exists. The package name is provisional. It comes after the DAE solver and go-symbolic, the size is XL, and the roadmap states plainly that MapleSim parity is a product, not a library: MapleSim’s component libraries are proprietary and are not planned.

What it will provide

  • Connectors and equation assembly.
  • Index reduction by Pantelides’ algorithm and the dummy-derivative method, on go-symbolic equations.
  • Structural analysis and block-lower-triangular ordering (Tarjan’s strongly connected components), which also finds algebraic loops.
  • Emission of Go through go-symbolic’s codegen.
  • A Modelica-subset reader, last. Full Modelica compatibility is out of reach and will be said so in the README.

References

SubjectReference
index reductionPantelides, SIAM J. Sci. Stat. Comput. 9(2), 1988, doi:10.1137/0909014; Mattsson and Soderlind, SIAM J. Sci. Comput. 14(3), 1993, doi:10.1137/0914043
block orderingTarjan, SIAM J. Comput. 1(2), 1972, doi:10.1137/0201010
languagethe Modelica Language Specification 3.6, as target vocabulary only

How it will be validated

AreaCriterion
DAE and modellingdetected index, constraint drift and final-time error against Modelica reference runs

The corpus is the Modelica Standard Library examples (BSD-3-Clause). OpenModelica (OSMC-PL and GPL-3) is an oracle only and is never ported; Maple is proprietary and is never run as an oracle. Every item also needs unit tests at 100% coverage and a performance table against the reference.

Created on by tannevaled

Modified on by tannevaled