The IsamDAE tool

Towards a reliable and efficient compilation suite for multimode DAE systems

Example of a mode-dependent scheduling graph output by the IsamDAE tool.

Example of a mode-dependent scheduling graph output by the IsamDAE tool.

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.

Typical error message at a mode change.

Typical error message due to the incomplete handling of a multimode model by a Modelica tool — here, at time 0.

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.

Log-log graph of number of blocks and computational times on the multimode building model, showing a linear number of blocks and roughly quadratic computational times.

Updated computation times for a variable-size multimode building model in log-log scale. Improved since the publication of [Caillaud et al., 2020].

The results of this multimode structural analysis can also be used for a source-to-source Modelica model transformation ensuring that the output model is correctly compiled and simulated in current Modelica tools such as Dymola or OpenModelica. This transformation was introduced at the 14th International Modelica Conference in September 2021:



Benoît Caillaud, Mathias Malandain (research engineer), Bertrand Provot (engineer), Joan Thibault (PhD)

Comments are closed.