Towards utilizing repeating structures for constant time compilation of large Modelica models uri icon

Open Access

  • false

Peer Reviewed

  • false

Abstract

  • Modelica is a language for modeling and simulating complex physical systems. A Modelica compiler generates a differential-algebraic equation (DAE) system from Modelica source code. The physical system is simulated by solving the DAE numerically. Before this can be done, the Pantelides algorithm is often applied to reduce the index of the DAE.
    Modelica's ability of structured programming makes it easy to describe physical systems with a repeating structure, like a roller chain, a battery pack or a solar panel. Such Modelica models generate DAE systems with many repeated sections. The Pantelides algorithm is not capable of using and preserving these repeating structures. As a consequence Modelica compilers need to unroll such structures. Huge memory consumption and the generation of bulky source code for the numerical solver is often a consequence.
    This article discusses techniques, which make it possible to preserve and use repeating structures during Pantelides index reduction. It is shown how the search for augmenting paths and the calculation of minimal structural singular subsets can be shortened. The method is restricted to repetitions, which are described by non-nested for-loops.

Veröffentlichungszeitpunkt

  • Oktober 10, 2014