The IsamDAE tool
Towards a reliable and efficient compilation suite for multimode DAE systems
Structural analysis is an essential aspect of the numerical handling of DAE systems: not only does it check that the equation system is generically nonsingular, but it also makes it possible to generate efficient simulation code from a model.
Several equation-based languages, such as Modelica, make it possible to define multimode models, in which different modes are specified by different DAE systems.
The separate structural analysis of all modes at compile time quickly becomes untractable.
As a result, most M&S (Modeling and Simulation) tools have opted for a single structural analysis that does not take into account the actual mode dependencies. Unfortunately, this generic structural analysis often yields simulation code that is incorrect in some modes, which results in errors such as division by zero errors at runtime.
Another solution consists in performing a new structural analysis step, at runtime, every time a mode change occurs. Although this is a more reliable approach overall, it makes it impossible to guarantee at compile time that a multimode model is structurally sound in all possible modes.
IsamDAE is a tool that performs the structural analysis of multimode DAE systems in an all-modes-at-once fashion.
An implicit functional representation of the structure of a multimode model is at the core of the approach implemented in IsamDAE. This is currently performed via an implementation of an ordered variant of BDD (Binary Decision Diagrams), but the use of the Functional Decision Diagrams framework is being studied.
A novel algorithmic suite was designed in order to handle this representation of multimode DAE systems, partly by adapting or rewriting existing algorithms, partly by creating new algorithms entirely. As a result,
The structural analysis of models with an exponential number of modes can be performed in sub-exponential time.
- Test the IsamDAE tool online (GitLab login required)
- List of publications related to the IsamDAE tool