Konferensartikel

Smart Processing of Function Calls to Achieve Efficient Simulation Code

Jan Hagemann
Department of Engineering and Mathematics, University of Applied Sciences Bielefeld, Germany

Patrick Täuber
Department of Engineering and Mathematics, University of Applied Sciences Bielefeld, Germany

Lennart Ochel
Department of Engineering and Mathematics, University of Applied Sciences Bielefeld, Germany

Bernhard Bachmann
Department of Engineering and Mathematics, University of Applied Sciences Bielefeld, Germany

Ladda ner artikelhttp://dx.doi.org/10.3384/ecp17132581

Ingår i: Proceedings of the 12th International Modelica Conference, Prague, Czech Republic, May 15-17, 2017

Linköping Electronic Conference Proceedings 132:65, s. 581-588

Visa mer +

Publicerad: 2017-07-04

ISBN: 978-91-7685-575-1

ISSN: 1650-3686 (tryckt), 1650-3740 (online)

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.

Nyckelord

Function calls, backend, simulation

Referenser

Alfred V. Aho, Monica S. Lam, Ravi Sethi, and Jeffrey D. Ullman. Compilers - Principles, Techniques, and Tools; 2. Edition. Pearson, 2008. ISBN 978-0321486813.

Francesco Casella. Thermopower library simulation. Open-Modelica Workshop, Linköping, Sweden, Februar 3rd, 2014, 2014. URL http://www:modprod:liu:se/openmodelica2014-talks/1:544931/OpenModelica2014-talk03-Francesco-Casella-ThemoPowerLibrarySimulation:pdf.

Francesco Casella. Simulation of large-scale models in modelica: State of the art and future perspectives. In Proceedings of the 11th International Modelica Conference, Versailles, France, September 21-23, 2015, number 118, pages 459–468. Linköping University Electronic Press, Linköpings universitet, 2015a.

Francesco Casella. Modelling of energy systems with OpenModelica. OpenModelica Workshop, Linköping, Sweden, Februar 2nd, 2015, 2015b. URL http://www:modprod:liu:se/openmodelica-2015/1:620217/OpenModelica2015-talk03-Francesco-Casella:pdf.

Francesco Casella and Kaan Sezginer. ScalableTest-Suite homepage. https://github:com/casella/ScalableTestSuite, December 2016.

Rüdiger Franke. Embedded optimizing control using the OpenModelica C++ runtime. OpenModelica Workshop, Linköping, Sweden, Februar 1st , 2016, 2016. URL http://www:modprod:liu:se/filarkiv/1:672872/OpenModelica2016-talk08-RudigerFranke-EmbeddedOptimizingControl:pdf.

Rüdiger Franke, Marcus Walther, Niklas Worschech, Willi Braun, and Bernhard Bachmann. Model-based control with FMI and a C++ runtime for Modelica. In Proceedings of the 11th International Modelica Conference, Versailles, France, September 21-23, 2015, pages 339–347, 2015.

Jacek Jakubowski. Architekturunabhängige Quellcodeoptimierung durch Mustererkennung. Dissertation, Universität Dortmund, 2002.

Filip Jorissen, Michael Wetter, and Lieve Helsen. Simulation speed analysis and improvements of modelica models for building energy simulation. In Proceedings of the 11th International Modelica Conference, Versailles, France, September 21-23, 2015, pages 59–69, 2015.

Steven S. Muchnick. Advanced Compiler Design and Implementation. Morgan Kaufmann Publishers, San Francisco, 1997. ISBN 978-1-55860-320-2.

Michael Vogt. Plattformunabhängige Eliminierung gemeinsamer Teilausdrücke auf Quellcode-Ebene. Dissertation, Universität Dortmund, 2004.

Citeringar i Crossref