Python utilities to set up and analyze Modelica simulation experiments
The goal of ModelicaRes is to provide an open-source tool to effectively manage Modelica simulations, interpret results, and create publishable figures. It is currently possible to
The figures are generated via matplotlib, which offers a rich set of plotting routines. ModelicaRes includes convenient functions to automatically pre-format and label some figures, like xy plots, Bode and Nyquist plots, and Sankey diagrams. ModelicaRes can be scripted or run from a Python interpreter with math and matrix functions from NumPy.
The links below describe the components of ModelicaRes. The top-level module, modelicares, provides direct access to the most important classes and functions. Others must be accessed through their submodules. The modelicares.base submodule has general supporting functions. The modelicares.exps submodule has classes and functions to set up and manage simulation experiments. The modelicares.linres submodule has a class to load, analyze, and plot results from linearizing a model. The modelicares.simres submodule has classes to load, analyze, and plot simulation results. The modelicares.multi submodule has functions to load and plot results from multiple data files at once. The last submodule, modelicares.texunit, has functions to translate Modelica unit and displayUnit strings into LaTeX-formatted strings. Finally, the loadres script loads data files and provides a Python interpreter to help analyze them.
A PDF version of this documentation is available here. Updates to ModelicaRes may be available at the main project site. ModelicaRes is also listed in the Python Package Index (direct link). The development site is https://github.com/kdavies4/ModelicaRes.
Installation
An installable copy of this package can be downloaded from the main project site or the PyPI page. To install the package, first download and extract it. Then run the set up script (setup.py) from the base folder. On Windows, use the following command:
python setup.py install
On Linux, use:
sudo python setup.py install
The matplotlibrc file in the base folder has some recommended revisions to matplotlib‘s defaults. To use it, copy or move the file to the working directory or matplotlib‘s configuration directory. See http://matplotlib.org/users/customizing.html for details.
Credits
The main author is Kevin Davies. Kevin Bandy also helped in the development of this package. Third-party code has been included from Jason Grout (ArrowLine class), Jason Heeris (efficient base-10 logarithm), Richard Murray (python-control), and Joerg Raedler (method to expand a Modelica variable tree - from DyMat).
License terms
ModelicaRes is published under the terms of the BSD license (see LICENSE.txt). Please share any modifications you make (preferably on a Github fork from https://github.com/kdavies4/ModelicaRes) so that others may benefit from your work.
See also
The pysimulator, BuildingsPy, DyMat, and awesim projects provide related Python modules. pysimulator includes an elaborate GUI and supports the Functional Model Interface (FMI). BuildingsPy has a Tester class that can be used for unit testing. DyMat has functions to export Modelica simulation data to comma separated values (CSV), Gnuplot, MATLAB ®, and Network Common Data Form (netCDF). awesim provides tools to help run simulation experiments and organize the results.