Validate your FMUs
Whether you're exporting FMUs or troubleshooting a third party FMU ‐ the following free tools help you to validate, test and debug your FMUs.
We recommend using multiple validation tools since each tool checks different aspects of FMU compliance.
For example, FMU Check performs static checks only, FMPy can also simulate FMUs, fmusim validates the modelDescription.xml against the XML schema, and VDMCheck validates against a formal model of the FMI specification.
FMU Check
A free web app to validate FMUs online. It's powered by FMPy (currently v0.3.21), hosted by the Modelica Association, and performs static checks only (i.e. no simulation of the FMUs).
How to use
- Go to fmu-check.herokuapp.com
- Upload your FMU file
- Review the validation results
You can also deploy FMU Check locally using FMPy's built-in web app:
python -m fmpy.webapp my_model.fmuFMPy
A Python package to simulate and validate FMUs that has a graphical and a command line interface and
- supports FMI 1.0, 2.0, and 3.0
- supports Co-Simulation and Model Exchange
- runs on Windows, Linux and macOS
- compiles C code FMUs and generates CMake projects for debugging
How to use
- Install FMPy:
python -m pip install fmpy[complete] - Get info about an FMU:
fmpy info my_model.fmu - Simulate an FMU:
fmpy simulate my_model.fmu - Open the graphical user interface:
python -m fmpy.gui
Reference FMUs and fmusim
The Reference FMUs are a set of test models and the fmusim application to simulate FMUs. It supports
- validation of the modelDescription.xml against the XML schema
- FMI versions 1.0, 2.0, and 3.0
- Co-Simulation and Model Exchange
- Windows, Linux, and Mac
How to use
- Download the pre-built executables from the latest release
- Simulate an FMU:
fmusim my_model.fmu - Show all options:
fmusim --help
FMI-VDM-Model
A Java library that validates FMUs against a formal model of the FMI specification. It supports FMI versions 2.0 and 3.0, and all interface types.
How to use
- Download the latest release from GitHub and unzip it
- Add the extracted folder to your PATH
- Validate an FMU:
- Linux / macOS:
VDMCheck2.sh my_model.fmuorVDMCheck3.sh my_model.fmu - Windows:
java -jar vdmcheck2.jar my_model.fmuorjava -jar vdmcheck3.jar my_model.fmu
- Linux / macOS: