Set up and analyze Modelica simulations in Python
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.
Currently, ModelicaRes only loads Dymola/OpenModelica-formatted results (*.mat), but the loading functions are modular so that other formats can be added easily.
Please see the tutorial, which is available as an IPython notebook or online as a static page. For the full documentation and many more examples, see the main website.
First, install the dependencies. Most are installed automatically if you have the setuptools module. However, SciPy >= 0.10.0 must 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.
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 to install ModelicaRes 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
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 http://matplotlib.org/users/customizing.html for details.
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