OpenModelica Open Source Tools

The architecture of the OpenModelica environment. Arrows denote data and control flow


omc structure

Advanced Interactive OpenModelica Compiler (OMC)

  • Compiles Modelica code to C for Simulation.
  • Provides an API to query the loaded Modelica code.
  • Can be used from command line or interactively as a Corba object.

Interactive OpenModelica Shell (OMShell)

  • The purpose of OMShel is to provide an interactive environment for working with OMC.
  • Click the thumbnail for a screenshot.

OpenModelica Notebook (OMNotebook)

  • A literate programming notebook
  • OMNotebook is a Mathematica style Notebook for Modelica.
  • The purpose of OMNotebook is to provide an advanced Modelica teaching tool.
  • Click the thumbnail for a screenshot.
Dr Control

DrControl Under OMNotebook

  • DrControl is an interactive course material  in control theory based on the electronic book OMNotebook.
  • DrControl can be an alternative or complement to the traditional teaching method with lecturing and reading textbooks in control theory.
  • Click the thumbnail for a screenshot.

OpenModelica Connection Editor (OMEdit)

  • Graphical Connection Editor
  • Modelica annotation 3.1 is supported making the exchange of models to other tools easier
  • Qt C++ libraries used
  • Click the thumbnail for a screenshot.
OMEdit with Interactive Simulation

OMEdit Integrated with Electronic Notebooks and Interactive Simulation

  • Gives students the facility to export/import models between OMEdit and electronic notebooks.
  • Uses OpenModelica Interactive (OMI) subsystem to perform interactive simulation.
  • Online simulation makes the simulation respond in real-time to user input.
  • Click the thumbnail for a screenshot.

OpenModelica Equation Model Debugger

  • First ever model equations debugger for Modelica models
  • Mapping run-time errors to source model position
  • Showing equation trasformations of a model


  • OMOptim facilitates optimization in engineering.
  • OMOptim extends the capabilities of OpenModelica towards design optimization.
  • It can be used to the increase energy efficiency of an industrial process.
  • Click the thumbnail for a screenshot.
MDT Screenshot

Modelica Development Tooling (MDT)

  • MDT provides an advanced development environment for Modelica within the Eclipse platform.
  • Advanced textual environment for eclipse. 

Modelica Modeling Language (ModelicaML)

  • Graphical modeling language for the description of time-continuous and time-discrete/event-based system dynamics .
  • Click the thumbnail for a screenshot.

OpenModelica Python Interface (OMPython)

  • OMPython is a subsystem of the OpenModelica platform, enabling users to experience the modeling and simulation capabilities of OpenModelica within the Python environment.
  • Click the thumbnail for a screenshot.
OMSimulator 1.0 - TLM based simulator

OpenModelica Simulator (OMSimulator)

  • A new (stand-alone) FMI- and TLM-based simulation tool OMSimulator.
  • First version for connected FMUs, TLM objects, Simulink models (via wrappers), Adams models (via wrappers), BEAST models (via wrappers), Modelica models. Regarding the FMI standard for model exchange and co-simulation , see FMI standard.


Other Useful Tools (not part of OpenModelica)


Graphical Model Editor (SimForge)

  • Graphical model editor from Politecnico di Milano.
  • Simforge is not mantained anymore.
  • Click the thumbnail for a screenshot.


Development Tools

These are additional tools we use for OpenModelica Development.

  • OpenModelica Development (OMDev) is a package of tools needed to compile OpenModelica on Windows.

OMDev can be found on SVN repository here (user: anonymous, password: none), this package contains the tools needed to compile OpenModelica on Windows platform. Please read the instructions in the INSTALL.txt file present in the package.


Additional OpenModelica Contributions

We have started a collection of tools contributed to OpenModelica by various people. Thank you!


Fun Zone

These are just small tools we had fun implementing :)

OMC Corba clients in several languages (Java, C++, Python)

You are here: