Other free tools (mainly for managing simulations and post-processing)
- Modelica tools for developers
- Other commercial tools
In order that the Modelica modeling language can be used to solve actual problems, a modeling and simulation environment is needed
- to conveniently define a Modelica model with a graphical user interface (composition diagram/schematic editor) such that the result of the graphical editing is a (internal) textual description of the model in Modelica format.
- to translate the defined Modelica model into a form which can be efficiently simulated in an appropriate simulation environment. This requires especially sophisticated symbolic transformation techniques.
- to simulate the translated model with standard numerical integration methods and visualize the result.
The following commercial and free modeling and simulation environments for Modelica are currently available (note, that demo versions for the commercial environments are available and that some demo versions can be downloaded free of charge):
(in alphabetical order)
- By Dassault Systèmes:
Dymola has a Modelica translator which is able to perform all necessary symbolic transformations for large systems (> 100 000 equations) as well as for real time applications. A graphical editor for model editing and browsing, as well as a simulation environment are included. Convenient interfaces to MATLAB and the popular block diagram simulator Simulink exist. For example, a Modelica model can be transformed into a SIMULINK S-function C mex-file which can be simulated in SIMULINK as an input/output block. A demo version of Dymola can be downloaded here.
- By ESI ITI GmbH:
- SimulationX is a graphically-interactive tool for the holistic modeling, simulation and analysis of multi-domain systems from 1D to 3D. Multi-level customizing options and SimulationX’s capability to adjust the model’s complexity by mouse-click allow modeling in every step of the design process. Ready-to-use model libraries, e.g., for mechanics, multi-body systems, power transmission, hydraulics, pneumatics, thermodynamics, and electric drives are written in Modelica language. Libraries are extendable by Modelica-based modeling using the SimulationX TypeDesigner. A comprehensive API supports the integration into any CAE, CFD, CAD or database tool environment. Versatile interfaces offer plenty of opportunities for exporting models in terms of Simulink S-function and C-Code for HiL, RCP and other real-time applications. Different features (tracing, performance analyzer, switchable model complexity) support users in achieving real-time-capabilities. SimulationX is available for test online. www.simulationx.com
- By Maplesoft:
- MapleSim™ is a high-performance multi-domain modeling and simulation tool. Systems are described in a compact and intuitive component diagram using next-generation physical modeling techniques, making them easier to build and understand. Model equations are automatically generated and simplified, yielding concise models and high-speed simulations of sophisticated systems. Many components in MapleSim are from the Modelica Standard Library, and all MapleSim models and components can be exported to Modelica. In the near future, MapleSim will be able to access third-party Modelica libraries. Users will be able to directly import any Modelica components or libraries and seamlessly incorporate them into MapleSim models. For more information, please visit the Maplesoft web site.
- By Siemens PLM Software:
- LMS Imagine.Lab Amesim is a complete 1D simulation suite to model and analyze multi-domain systems and predict their performances. It provides a large variety of validated model libraries (mechanical, hydraulic, electric, thermal, control) and application oriented tools (specialized libraries, pre and post processing tools, customization features,…). The LMS Imagine.Lab Amesim platform and its dedicated solutions cover numerous application fields to address the customer’s specific needs for the design of powertrain transmissions, thermal management systems, vehicle systems dynamics, fluid systems, internal combustion engines, aircraft ground loads, flight controls or electrical and electromechanical systems. LMS Imagine.Lab AMESim is now able to deal with Modelica. For instance, Modelica models can be created and modified in a text editor dedicated to the Modelica language, and imported into the LMS Imagine.Lab AMESim environment so as to be linked to other model and to be simulated in the simulation environment. More information about our LMS Amesim Modelica platform can be found on our website.
By Suzhou Tongyuan
- MWorks is a Modelica-based visual modeling and simulation platform for multi-domain engineering systems. It provides visual modeling studio, effective Modelica compiler and symbolic analyzer, as well as powerful postprocessors of curves, schema and 3D animation. Engineering tools, such as experiment design and multi-object optimization, are included in MWorks. MWorks supports the interfaces with CAD, FEM, Matlab/Simulink and FMI. In particular, it can import general CAD files and FEM modal data into 3D animation postprocessor, including stl, sat, hsf, 3ds, dxf and MNF formats. It is also convenient to customize and expand MWorks through C/C++ interfaces, COM components and Python scripts.
- By Wolfram:
- Wolfram SystemModeler® is a high-fidelity modeling environment that uses versatile symbolic components and computation to drive design efficiency and innovation. It integrates with the Wolfram technology platform to enable modeling, simulation, and analysis (of many types), all together achieving the first fully agile design optimization loop. Many of today's tools are limited in their fidelity by their foundations: using block-diagrams that poorly represent key components or producing models just for simulation and not engineering analysis. Moreover, computation is numerics-only or not integrated at all. It is the SystemModeler approach of versatile symbolic components backed by the ultimate computation environment that enables an all-in-one integrated workflow. That gets you the power to model reality at high fidelity-driving insight, innovation, and results.
- JModelica.org: JModelica.org is an extensible Modelica-based open source platform for optimization, simulation and analysis of complex dynamic systems. The main objective of the project is to offer an industrially viable open source platform for optimization of Modelica models, and a flexible platform serving as a virtual lab for algorithm development and research. At the core of the JModelica.org platform are compilers for Modelica and Optimica, which is an extension of Modelica dedicated to formulation of dynamic optimization problems. JModelica.org also features a Python integration for scripting and custom application development, code generation to C and XML, numerical algorithms for solving dynamic optimization problems, an interface to the state of the art optimization algorithm Ipopt, and an Eclipse plugin based on the JModelica.org compilers. The JModlica.org platform is available under the GPL open source license. Part of the software is also available under the less restrictive CPL license. In addition, commercial licenses are available from Modelon AB.
Modelicac is a compiler for a subset of the Modelica language including parts of the "equation" subset that can express relations between Real variables.
Modelicac is included into the Scilab
distribution (although it is an independant executable) and
is used by Scicos
(Scilab's block-oriented editor and simulator) to handle hybrid model simulations.
The following features are supported by Modelicac:
- Declaration of "Real" scalar variables and (statically fixed-size) arrays;
- Aggregation of components is supported (but inheritance is not)
- Modifications of parameters are supported;
- Declaration of equations (equalities, "for" equations, "when" equations)
- "if" equations are not supported, however it is possible to write "if" expressions in equations.
Control (by way of discrete variables, algorithms, blocks, etc.) is not handled by Modelicac, however it is handled by Scicos (in fact, it is Scicos's original purpose). Hence hybrid models can be simulated under the Scicos environment in a rather transparent way: Scicos calls Modelicac on the continuous part of the model and simulates directly the remaining (discrete) part.
Scilab, Scicos and Modelicac are free software: one can use them for educational purposes but also into industrial applications. More details about Modelicac and Scicos can be found in this paper.
- OpenModelica: OpenModelica is an open source Modelica environment developed and supported by Linköping University and the Open Source Modelica Consortium (OSMC) - a growing group of companies, universities, institutes and individuals. The goal of the project is to create a complete Modelica modeling, compilation and simulation environment based on free software distributed in source code and executable form intended for research, teaching, and industrial usage. OpenModelica is freely available for use. It can be combined with open source software according to the OSMC-GPL license. Moreover, it can also be integrated with proprietary software according to the OSMC-EPL. The current OpenModelica release supports most of the Modelica language, including equations, algorithms, event-handling, functions, and packages. Also included are a Modelica Eclipse plugin for advanced developers, and an electronic notebook interface for teaching (see DrModelica). Improving the compiler, a general solver interface, enhanced graphics, and Modelica-UML integration in Eclipse are examples of ongoing development activities. We invite all interested developers, researchers, and students to participate in the project. Please visit OpenModelica page.
- DrModelica is an interactive teaching material to teach yourself Modelica. It contains exercises with answers, and examples. It is downloaded and run as part of OpenModelica, using the OMNotebook interface. The examples are from the book by Peter Fritzson - "Principles of Object-Oriented Modeling and Simulation with Modelica 2.1, (November 2003). This book teaches modeling and simulation and gives an introduction to the Modelica language to people who are familiar with basic programming concepts. Downloadable chapters and a tutorial based on the book are available on the OpenModelica website.
Modelica models are usually graphically constructed with one of the schematic editors. However, since Modelica is basically a textual description it is also possible to utilize a text editor to edit or to browse Modelica models. A free Modelica text editor and adaptations of popular text editors are available here:
- Modelica mode for Emacs, created by Rüdiger Franke
- Modelica syntax highlighting for text editor UltraEdit. (= shareware editor on PC which is fast, "simple things are simple", many useful features such as copying/moving of rectangular text). Copy content of file WordfileModelica.txt in file UltraEdit/Wordfile.txt and change first tag "/L6" to the correct number of supported language, if necessary.
- Modelica Development Tooling (MDT) is a plugin for Eclipse
- OneModelica - An Integrated Environment for Model Development, Compilation and Administration
- Modelica Sublime Text Package - A package is to bring Modelica language support to Sublime Text and also to provide snippets for commonly used language patterns.
Here comes a list of free tools that are useful in combination with some of the Modelica Simulation Environments mentioned above:
- awesim: Python module for management of Modelica simulation files in .mat format (follow on GitHub)
- BuildingsPy: is a Python package that can be used to run Modelica simulations using Dymola, to process *.mat output files that were generated by Dymola or OpenModelica, and to run unit tests as part of the library development.
- DyMat: This package contains some modules to read and process the result files from Dymola and OpenModelica with python.
Free syntax highlighting tool Highlight which converts source code to formatted text with syntax highlighting.
(Coloured output in HTML, XHTML, RTF, TeX, LaTeX and XML format, supports 120+ programming languages including Modelica)
- listings-modelica This project provides syntax highlighting definitions of the Modelica language for the LaTeX listings package.
- PySimulator: Python based environment that provides a graphical user interface for simulating different model types via plugins (Modelica models via Dymola, OpenModelica or SimulationX plugins, and FMUs), plotting result variables and applying simulation result analysis tools like Fast Fourier Transform. Additionally advanced tools for linear system analysis are provided that can be applied to the automatically linearized models. Furthermore, rudimentary regression testing between the plugins is provided (Beta status; developed by DLR-SR, OSMC, ITI).
- Simulink-Block similar to the "To File" Block, which writes a bus including the signal names in a Dymola-compatible mat-File. SaveToFile.zip written by Arne Schmenkel.
- Modelica Compliance Suite
A semantics compliance suite for the Modelica language
- CSV Result Compare tool
The CSV Result Compare can be used to compare curves from one csv files with curves from other csv files using a special algorithm.
- MapleSim Standalone Modelica Parser
May be freely used for library syntax validation, and for non-commercial educational purposes.
- Modelica Testsuite
Modelica models to test various aspects of the Modelica language can be found in the development repository:
- Subversion address: https://svn.modelica.org/projects/Modelica/trunk/ModelicaTest/
- Browse the code: https://trac.modelica.org/Modelica/browser/Modelica/trunk/ModelicaTest
- Download latest version as zip file
For historical reasons we also provide the older version 1.4 from December 2000 here: testsuite.zip
- Trimming of trailing white spaces (and other code clean up)
This script will recursively remove all trailing white spaces in all text files in a given directory. Binary files and files residing in version control specific directories are skipped. As an addition one can also let it clean out obsolete or empty/superfluous Modelica annotations from Modelica files.
- Project home on GitHub: https://github.com/dietmarw/trimtrailingwhitespaces
- Downloadable releases
Here comes a list of commercial tools that are useful in combination with some of the Modelica Simulation Environments mentioned above:
- The Canvas (by XRG Simulation GmbH) software is a post processing tool for easy and fast visualization of 1-d simulation results. The basic concept is to arrange numerical result values on a selectable background image. That enables the user to generate analyzing figures with self designed background pictures in an efficient way. A batch mode allows the generation of a series of analyzing images out of a high number of result files with one click. The tool is not limited to a certain simulation program, although the first version only supports simulation results from Dymola® and OpenModelica, in the near future more result file types (e.g. MATLAB/Simulink®) will be supported. The demo software for Windows® operating systems is available for free (Proceed to download site).
- ModelOpt (by XRG Simulation GmbH) is an optimization application for minimizing cost functions or deviations from a design or measurement value. It uses Dymola®/Modelica® for modeling and target function definition as well as for simulation (from version Dymola 6.1 to the latest version). A simple and intuitive graphical user interface guides the user step by step through an optimization project. Any model depending on float parameters can be optimized by a selection of robust algorithms which are designed for either searching a local or even a global optimum of a target function. The progress of the iterative algorithm can be observed in a plot diagram or from a table indicating the currently best solution. A separate batch-mode allows to investigate one and the same model for different scenarios in a single optimization run. The demo software for Windows® operating systems is available for free (Proceed to download site).
- TestWeaver from QTronic is a tool for automatic test generation and validation of systems. TestWeaver can be directly used with Modelica simulators, such as, Dymola or SimulationX, as well as with MATLAB/Simulink and Silver simulations.
- TISC is a co-simulation environment for
controlling different simulation applications and exchanging data
between them. TISC organizes the co-simulation setup by managing
simulation programs, models, parameters and initialization settings,
different simulation computers, as well as IP connections. TISC provides
interfaces to Modelica, MATLAB/Simulink, Ascet, Labview, Fluent,
Star-CD, Theseus-FE, Flowmaster, Kuli, Trnsys, and Wave. New Interfaces
can be developed upon request based on C, C++, C# (using .NET Framework
2.0), Python, or FORTRAN.
Please visit the TLK-Thermo website for more information.
TILMedia is an interface library to provide fluid and
solid properties from various existing property databases to different
applications. The interface library can be used in both function-based
and object-oriented programming.
Please visit the TLK-Thermo website for more information.
- Silver from QTronic is a tool that allows to simulate controller and simulation modules produced with various tools, such as: Dymola, SimulationX, MATLAB/Simulink, C/C++ and Python. The modules are self-integrating and are co-simulated on standard PC hardware under Windows. Automotive ECU software interfaces, such as A2L and XCP, are provided.
StateViewer is an advanced software tool for graphical
presentation of transient thermodynamic measurements or simulation data
in different types of state charts (e.g. ph- or Ts-diagram). The
StateViewer can open csv-files as well as Dymola result files, an
online-visualization can easily be set up while running a measurement or
simulation process. Using the media data of REFPROP as well as
interfaces to other media databases guarantees a wide range of
Please visit the TLK-Thermo website for more information.
- Free StateViewer Lite is a version of StateViewer with restricted functionality. It can be downloaded from the the TLK-Thermo website.