Test-FMUs icon indicating copy to clipboard operation
Test-FMUs copied to clipboard

A set of FMUs for development, testing and debugging

Test FMUs logo


This repository has been archived. Development is continued on modelica/Reference-FMUs.


Test FMUs

Build Status

A set of test models for development, testing and debugging of the Functional Mock-up Interface.

  • BouncingBall - a bouncing ball model with state events
  • Dahlquist - Dahlquist test equation
  • Feedthrough - all variable types
  • Resource - load data from a file
  • Stair - a counter with time events
  • VanDerPol - Van der Pol test equation

Repository structure

<model>

  • config.h - model specific types and definitions
  • FMI{1CS|1ME|2|3}.xml - model descriptions
  • model.c - implementation of the model

include

  • fmi{|2|3}Functions.h - FMI header files
  • model.h - generic model interface
  • slave.h - generic co-simulation interface

src

  • fmi{1|2|3}Functions.c - FMI implementations
  • slave.c - generic co-simulation

Build the FMUs

To build the FMUs you need CMake and a supported build tool e.g. Visual Studio, Xcode or make:

  • download or clone the repository

  • open the CMakeGUI

  • click Browse Source... and select the cloned or downloaded and extracted repository (that contains CMakeLists.txt)

  • click Browse Build... and select the folder where you want build the FMUs

  • click Configure and select the generator for your IDE / build tool

  • select the FMI_VERSION you want to build and optionally the FMI_TYPE (only for FMI 1.0)

  • click Generate to generate the project files

  • click Open Project or open the project in your build tool

  • build the project

The FMUs will be in the dist folder inside the selected build folder.

License and Attribution

Copyright © 2019 Dassault Systemes. All rights reserved. The code is released under the 2-Clause BSD License. The Test FMUs are forked from the FMU SDK by QTronic. The stethoscope icon in the logo by srip is licensed CC-BY 3.0.