/OMSimulator

OpenModelica FMI & TLM based simulator

Primary LanguageC++OtherNOASSERTION

OMSimulator License: OSMC-PL

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

Downloads

Pre-compiled binaries are available for Windows, Linux, and Mac.

The latest documentation is avilable as pdf and html.

Dependencies

Compilation

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 https://openmodelica.org/git/OMDev.git
    • 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

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