May 15–17, 2017 in Prague, Czech Republic
[Proceedings] [Sessions] [Authors] [Schedule] [Further material]

Papers by Bernhard Bachmann:

Title: Smart Processing of Function Calls to Achieve Efficient Simulation Code
Authors: Jan Hagemann, Patrick Täuber, Lennart Ochel and Bernhard Bachmann
Abstract:This paper introduces a new algorithm to increase the simulation performance of algebraic equation systems by encapsulating function calls. This avoids all unnecessary evaluations of function calls and leads to positive structural effects. To enable the reader to reconstruct the algorithm, all four phases of the algorithm are described in detail and the complexity of them is analyzed. The overall complexity is $O(n)$, where $n$ is the number of equations. It is shown that the algorithm significantly decreases the simulation time for a wide range of physical based models.
Links: Full paper

Title: Towards Adjoint and Directional Derivatives in FMI utilizing ADOL-C within OpenModelica
Authors: Willi Braun, Kshitij Kulshreshtha, Rüdiger Franke, Bernhard Bachmann and Andrea Walther
Abstract:Algorithmic differentiation has proven to be an efficient method for evaluating derivative information for implementations of mathematical functions. In the context of the Functional Mockup Interface (FMI) the reverse mode of algorithmic differentiation shows immense promise. FMI is increasingly used for model-based applications, such as parameter estimation or optimal control. The paper motivates the exploitation of algorithmic differentiation and proposes an extension of FMI for the evaluation of adjoint directional derivatives. Attempts to interface algorithmic differentiation libraries with Modelica tools have been made. Instead of generating code for the target language which is instrumented with algorithmic differentiation library API and then compiled, in this new approach the intermediate representation used by the library is generated directly. This avoids compilation of the target language that often takes a large fraction of the overall simulation time. It also avoids model execution in order to create such an internal representation at runtime. The initial results are presented here.
Links: Full paper

Title: Solving large-scale Modelica models: new approaches and experimental results using OpenModelica
Authors: Willi Braun, Francesco Casella and Bernhard Bachmann
Abstract:Modelica-based modeling and simulation is becoming increasingly important for the development of high quality engineering products. Therefore, the system size of interest in a Modelica-based simulation is continously increasing and the traditional way of generating simulation code, e.g. involving symbolic transformations like matching, sorting, and tearing, must be adapted to this situation. This paper describes recently implemented sparse solver techniques in OpenModelica in order to efficiently compile and simulate large-scale Modelica models. A proof of concept is given by evaluating the performance of selected benchmark problems.
Links: Full paper