Functional Mock-up Unit generation and validation suite for automotive OEM model

Published: Monday, 01 August 2016
FMI Logo

PDE has designed a Functional Mock-up interface and implemented a Functional Mock-up Unit generation and validation suite for a highly advanced simulation model from the field of automotive exhaust gas aftertreatment.

What is it?

The Functional Mock-up Interface (FMI) defines a standardized interface to be used in computer simulations to develop complex cyber-physical systems. The current official version of the specification is FMI 2.0 and is managed and developed as a Modelica Association project. The standard has its origins in the automotive sector (indeed, development of the first version was coordinated by Daimler AG) and the idea behind it is the following:

  • A car is made up of components supplied by a plethora of original equipment manufacturers (OEMs).
  • Consequently, a simulation model of a car also has to be made up of simulation components.
  • Simulation and modeling are widely used by OEMs during development anyway so many of the OEMs have some kind of model for their product.

This is where FMI comes into play:
The specification defines how a simulation model is to be packaged as a so-called Functional Mock-up Unit (FMU). Any software tool that implements the FMI standard can load and simulate these units. There are currently over 80 software tools, both commercial and free supporting export and/or import according to FMI 1.0 and/or FMI 2.0 (see for a detailed list).

This means that the car manufacturer can simulate the interplay between components from different suppliers which is cost-saving during development and allows far better integration of the components with each other in the final product.

Although FMI was developed in the automotive sector and is currently mostly adopted in this field, it is of course adaptable to any industry where components from different suppliers need to be integrated.

A recent project

While in general there is a trend towards automatic generation of functional mock-up interfaces and/or units, this is sometimes not possible - or at least not cost-efficient - especially for existing sophisticated models. In such a case, PDE has recently hand-crafted an FMI and a suite to generate and validate multi-platform FMUs of a highly sophisticated model for an OEM manufacturing and simulating automotive exhaust gas aftertreatment components.

A challenge in this case was that the existing model does quite some number crunching and had thus been written in FORTRAN while the FMI specification is generally targeted towards C. This required cross-language development and forbid the direct use of the FMU Software Development Kit.

Another challenge was that the original model had of course not been designed with something like FMI in mind. From a technical point of view, development of an FMI and creation of an FMU is merely a programming exercise: Some values have to be exchanged, some functions have to be called - that's it.
But to efficiently develop a useful interface to the existing model, comprehension of the its inner functionality and understanding of the underlying physical and chemical effects are mandatory. PDE's profound expertise in modeling of chemico-physical systems and our background in chemical engineering proved highly useful once more in this context and allowed rapid completion of the project.

While commercial software is used for the generation of the FMU (Microsoft Visual Studio, Intel Parallel Studio), the validation (i.e. simulation of several reference experiments) was carried out with PyFMI, a very nice Python package that allows comfortable loading and interaction with FMUs.