OpenModelica FMI & TLM based simulator
Switch branches/tags
Nothing to show
Clone or download
Type Name Latest commit message Commit time
Failed to load latest commit information.
.CI [Jenkins] Compile CentOS 6 Sep 5, 2018
.github Update github templates Jun 8, 2018
3rdParty @ f8f790c
OMTLMSimulator @ e489005 Updating OMTLMSimulator Nov 7, 2018
config.cmake Migrate OMFMISimulator v0.0.0-231-gcfb9449 Nov 27, 2017
src Fix performance issue of writing the simulation results Dec 17, 2018
testsuite @ 5393614 Updating testsuite Dec 11, 2018
.gitignore Updated .gitignore Mar 9, 2018
.gitmodules Add OMTLMSimulator as submodule Mar 27, 2018
CMakeLists.txt Add CS-FMU support to oms3 interface Oct 10, 2018
Makefile build OMRegEx before running cmake Nov 1, 2018
buildWinVS.bat Fix OMSimulatorPython on WSL Nov 13, 2018
configWinVS.bat Update configWinVS.bat Nov 19, 2018


The OMSimulator project is a FMI-based co-simulation environment that supports ordinary (i.e., non-delayed) and TLM connections.

License: OSMC-PL

Pre-compiled binaries are available for Windows-MSVC (32bit), Windows-MSVC (64bit), and Windows-GCC (64bit).

The latest documentation is avilable as pdf and html.



Linux / MacOS

  1. install libxml2-dev

    sudo apt-get install libxml2-dev
  2. configure OMSimulator

    make config-3rdParty
    make config-OMSimulator
  3. build OMSimulator

    make OMSimulator -j4

Windows (OMDev mingw)

  1. setup OMDev

    • Checkout OMDev (OpenModelica Development Environment): git clone
    • Follow the instructions in OMDev/INSTALL.txt
  2. configure OMSimulator

    make config-3rdParty
    make config-OMSimulator
  3. build OMSimulator

    make OMSimulator -j4

Windows (Visual Studio)

The following versions of Visual Studio are supported:

  • "VS14-Win32" -> "Visual Studio 14 2015"
  • "VS14-Win64" -> "Visual Studio 14 2015 Win64"
  • "VS15-Win32" -> "Visual Studio 15 2017"
  • "VS15-Win64" -> "Visual Studio 15 2017 Win64"

It is not strictly required to install the full Visual Studio IDE. The batch scripts only require Visual C++ Build Tools.

  1. install boost (VS14: 1.63, VS15: 1.64)

    • Download and install precompiled boost libs, e.g. from this source
    • Set environment variable BOOST_ROOT to install path, e.g:
      • BOOST_ROOT=C:\local\boost_1_64_0
  2. configure OMSimulator

    configWinVS.bat VS15-Win64
  3. build OMSimulator

    buildWinVS.bat VS15-Win64

Working with the repository

OMSimulator.git is a superproject. Clone the project using:

git clone --recursive

If you are a developer and want to track the latest heads, use:

# After cloning
git checkout master && git submodule foreach --recursive "git checkout master"
# To update; you will need to merge each submodule, but your changes will remain
git submodule foreach --recursive "git pull" && git pull

In order to push to the repository, you will push to your own fork of OMSimulator.git, OMSimulator-testsuite.git, etc. You will need to create a fork of each repository that you want to push to (by clicking the Fork button in the GitHub web interface).


Developers can trigger a Hudson job after creating a pull request to test the changes on different platforms.

The optional parameter estimation module

OMSimulator includes an optional parameter optimization module. It is enabled by default. It can be disabled in order to speed up the compilation process or if it causes compilation problems. It is not supported when using MinGW (and automatically disabled in that case). It can be disabled by using the options CERES=OFF (disables building its dependencies) and OMSYSIDENT=OFF.

make config-3rdParty OMSYSIDENT=OFF
make config-OMSimulator OMSYSIDENT=OFF