The Functional Mock-up Interface (FMI) is an open standard for the exchange and co-simulation of dynamic models between different software tools. It defines a common interface for models packaged as Functional Mock-up Units (FMUs) - self-contained zip files that include model equations, data, and binaries. FMI enables seamless model sharing, tool interoperability, and consistent simulation workflows across development environments.
🌐 FMI Standard: https://fmi-standard.org/
Find some general information about FMI in the below wiki page.
Develop your self-awareness by following 🎓 FMI Tutorials.
Discover the 🐍 FMPy python package to handle FMUs.
Applications
FMIs applications are many:
- Exchange of physical models between engineering teams (can be black box, encrypted)
- For system integration
- For control law design
- Hardware-In-the-Loop (HIL) testing: the FMU can be recompiled on a specific target platform (HIL platform, raspberry pi...)
- Training simulator
- Verification & Validation
- Virtual Commissioning
- ...
- Communication bridge between software when doing co-simulation (the FMU can be acting purely as a communication box)
- ...
FMI 3.0
Dymola implements several new features of FMI 3.0, improving the usage fo FMUs, such as:
- Co-Simulation: introduces early return, event mode, intermediate update and variable step size communication
- Array variables: better handling of array signals and variable-size parameter arrays
- Input interpolation: smoothing of inputs (embedded in the FMU) allows the integrator to continue the simulation without any reset
- Source code FMU import
- Terminals and Icons: help the user to build consistent systems from FMUs and render the systems more intuitively with better representation of structured terminals (for instance busses and physical connectors) in a special XML file.
Model Exchange VS Co-Simulation
Model Exchange Equations of the model are exchanged without the solver which can be used by other simulation tools. When to consider Model Exchange?
Co-Simulation Equations of the model are exchanged with the solver. Data is exchanged and controlled by a master algorithm. When to consider Co-Simulation?
|
FMI Coverage within Dassault Systemes
| Solutions | FMU Export | FMU Import | ||
|---|---|---|---|---|
| Co-Simulation | Model Exchange | Co-Simulation | Model Exchange | |
| Dymola Standard, Dymola Behavior Modeling | OK | OK | OK | OK |
| Systems Simulation Designer | OK | OK | ||
| CATIA Magic | OK | OK | ||
| Control Build | OK | OK | OK | OK |
| Stimulus | OK | OK | OK | |
| Autosar Builder | OK | OK | ||
| Process Composer | OK | OK | ||
| Results Analytics | OK | OK | ||
| Abaqus, PowerFlow | OK | |||
| SIMPACK | OK | OK | OK | |
