Conference article

OMJulia: An OpenModelica API for Julia-Modelica Interaction

Bernt Lie
University of South-Eastern Norway, Porsgrunn, Norway

Arunkumar Palanisamy
Linköping University, Linköping, Sweden

Alachew Mengist
Linköping University, Linköping, Sweden

Lena Buffoni
Linköping University, Linköping, Sweden

Martin Sjölund
Linköping University, Linköping, Sweden

Adeel Asghar
Linköping University, Linköping, Sweden

Adrian Pop
Linköping University, Linköping, Sweden

Peter Fritzson
Linköping University, Linköping, Sweden

Download article

Published in: Proceedings of the 13th International Modelica Conference, Regensburg, Germany, March 4–6, 2019

Linköping Electronic Conference Proceedings 157:72, p. 10

Show more +

Published: 2019-02-01

ISBN: 978-91-7685-122-7

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


Modelica is an object oriented, acausal equation-based language for describing complex, hybrid dynamic models. About ten Modelica implementations exist, of which most are commercial and two are open source; the implementations have varying levels of tool functionality. Many Modelica implementations have limited support for model analysis. It is therefore of interest to integrate Modelica tools with a powerful scripting and programming language, such as Julia. Julia is a modern and free language for scientific computing. Such integration would facilitate the needed analysis possibilities and can speed up the development of effient simulation models. A number of design choices for interaction between Julia and Modelica tools are discussed. Next, Julia package OMJulia is introduced with an API for interaction between Open-Modelica and Julia. Some discussion of the reasoning behind the OMJulia design is given. The API is based on a new class ModelicaSystem within package OMJulia, with systematic methods which operate on instantiated models. OMJulia supports handling of FMU and Modelica models, setting and getting model values, as well as some model operations. Results are available in Julia for further analysis. OMJulia is a further development of a previous OMPython package; a key advantage of Julia over Python is that Julia has better support for control engineering packages. OMJulia represents a first effort to interface a relatively complete Modelica tool to Julia, giving access to an open source set-up for modeling and analysis, including control synthesis, easily installable from a unified package manager. Some possibilities of OMJulia are illustrated by application to a few simple, yet industrially relevant problems within control design. Keywords: Modelica, FMI, FMU, OpenModelica, Julia, Julia API, OMJulia.


Modelica, FMI, FMU, OpenModelica, Julia, Julia API, OMJulia


No references available

Citations in Crossref