Set up and analyze Modelica simulations in Python

ModelicaRes is a free, open-source tool that can be used to

The goal of ModelicaRes is to leverage Python to make these tasks easy and complex tasks feasible. Publication-quality figures can be created with matplotlib using built-in methods that automatically add titles, labels, and legends. ModelicaRes can be scripted or used in an interactive Python session with math and matrix functions from NumPy.

Variable browser Plot of Chua circuit Sankey diagrams of three tanks model Bode plot of PID with varying differential time constant

Please see the tutorial, which is available as an IPython notebook or online as a static page. The links in the sidebar provide the full documentation and many more examples.

Currently, ModelicaRes only loads Dymola/OpenModelica-formatted results (*.mat), but the interface is modular so that other formats can be added easily.


First, install the dependencies. Most are installed automatically, but SciPy >= 0.10.0 must be installed according to the instructions at The GUIs require Qt, which can be installed via PyQt4, guidata, or PySide.

Then install ModelicaRes. The easiest way is to use pip:

> pip install modelicares

On Linux, it may be necessary to have root privileges:

$ sudo pip install modelicares

Another way is to download and extract a copy of the package from the sidebar on the left. Run the following command from the base folder:

> python install

Or, on Linux:

$ sudo python install

The matplotlibrc file has some recommended revisions to matplotlib‘s defaults. To use it, copy it to the working directory or matplotlib‘s configuration directory. See for details.

License terms and development

ModelicaRes is published under a BSD-compatible license. Please share any improvements you make, preferably as a pull request to the master branch of the GitHub repository. There are useful development scripts in the hooks folder. If you find a bug, have a suggestion, or just want to leave a comment, please open an issue.

See also

  • awesim: helps run simulation experiments and organize results
  • BuildingsPy: supports unit testing
  • DyMat: exports Modelica simulation data to Gnuplot, MATLAB®, and Network Common Data Form (netCDF)
  • PyFMI: tools to work with models through the Functional Mock-Up Interface (FMI) standard
  • PySimulator: elaborate GUI; supports FMI