Utilities to set up and analyze Modelica simulation experiments
Set up and analyze Modelica simulations
ModelicaRes is a free, open-source tool that can be used to
- generate simulation scripts,
- load and browse data,
- perform custom calculations,
- filter and sort groups of results,
- produce various plots and diagrams, and
- export data to various formats via pandas.
The figures are generated via matplotlib, which offers a rich set of publication-quality plotting routines. ModelicaRes has methods to create and automatically label xy plots, Bode and Nyquist plots, and Sankey diagrams. ModelicaRes can be scripted or used in an interactive Python session with math and matrix functions from NumPy.
The figures are generated via matplotlib, which offers a rich set of plotting routines. ModelicaRes has methods to create and automatically label xy plots, Bode and Nyquist plots, and Sankey diagrams. ModelicaRes can be scripted or used in an interactive Python session with math and matrix functions from NumPy.
Currently, ModelicaRes only loads Dymola/OpenModelica-formatted results (*.mat), but the loading functions are modular so that other formats can be added easily.
For a list of changes, please see the change log.
The easiest way to install this package 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. The main website, the GitHub repository, and the PyPI page have copies which include the source code as well as examples and supporting files to build the documentation and run tests. Once you have a copy, run the following command from the base folder:
python setup.py install
Or, on Linux:
sudo python setup.py install
Some of the required packages may not install automatically.
- SciPy can be installed according to the instructions at http://www.scipy.org/install.html.
- The GUIs require Qt, which can be installed via PyQt4, guidata, or PySide.
The matplotlibrc file file has some recommended revisions to matplotlib’s defaults. To use it, copy it to the working directory or matplotlib’s configuration directory. See http://matplotlib.org/users/customizing.html for details.
The main author is Kevin Davies. Code has been included from:
- Richard Murray (control.freqplot—part of python-control),
- Joerg Raedler (method to expand a Modelica variable tree—from DyMat),
- Jason Grout (ArrowLine class), and
- Jason Heeris (efficient base-10 logarithm).
Suggestions and bug fixes have been provided by Arnout Aertgeerts, Kevin Bandy, Thomas Beutlich, Moritz Lauster, Martin Sjölund, Mike Tiller, and Michael Wetter.
License terms and development
ModelicaRes is published under a BSD-compatible license. Please share any modifications you make (preferably as a pull request to the master branch of the GitHub repository) in order to help others. There are useful development scripts in the hooks folder. If you find a bug, please report it. If you have suggestions, please share them.
- awesim: helps run simulation experiments and organize results
- BuildingsPy: supports unit testing
- DyMat: exports Modelica simulation data to comma-separated values (CSV), 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