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.
fmusim
A command line tool to work with Functions Mock-up Units, written in Rust and hosted by the Modelica Association. It performs static checks, and can simulate single FMUs.
How to use
- Download the pre-built executables from the latest release
- Validate an FMU:
fmusim validate my_model.fmu - Simulate an FMU:
fmusim simujlate my_model.fmu - Show all options:
fmusim help
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
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:
Test you FMU importer
Whether you want to test an importing tool, you can use the Reference FMUs as a starting point.
Reference FMUs
The Reference FMUs are a set of test models that can be used to test importing tools.