FMI import compatibility¶
PINNeAPPle imports FMUs to generate training and validation data for Physics AI models (pinneapple_simulation.external_solvers.modelica: simulate_fmu, fmu_to_upd, sweeps). This page lists the FMUs that import has been tested with. It is generated by examples/modelica/fmi_compatibility.py, which runs every FMU through simulate_fmu in each interface it offers (check_fmus in fmi_compat.py).
Importing tool¶
- PINNeAPPle with fmpy 0.3.32, Python 3.11.15, platform x86_64-linux, run on 2026-10-16.
- CS = Co-Simulation, ME = Model Exchange.
- A run passes when it reaches the stop time of the FMU's default experiment with finite outputs. For
Dahlquist(x' = -k x) the trajectory is also compared with exp(-k t): within 1e-3 through Model Exchange and within 0.1 through Co-Simulation, where the FMU integrates with its own fixed-step explicit Euler. - Result: 38 of 38 runs passed.
Exporting tools¶
Reference-FMUs 0.0.39, FMI 1.0
| FMU | x86_64-linux |
|---|---|
| BouncingBall | CS, ME |
| Dahlquist | CS, ME |
| Feedthrough | CS, ME |
| Resource | CS |
| Stair | CS, ME |
| VanDerPol | CS, ME |
Reference-FMUs 0.0.39, FMI 2.0
| FMU | x86_64-linux |
|---|---|
| BouncingBall | CS, ME |
| Dahlquist | CS, ME |
| Feedthrough | CS, ME |
| Resource | CS, ME |
| Stair | CS, ME |
| VanDerPol | CS, ME |
Reference-FMUs 0.0.39, FMI 3.0
| FMU | x86_64-linux |
|---|---|
| BouncingBall | CS, ME |
| Dahlquist | CS, ME |
| Feedthrough | CS, ME |
| Resource | CS, ME |
| Stair | CS, ME |
| StateSpace | CS, ME |
| VanDerPol | CS, ME |
pythonfmu 0.7.0, FMI 2.0
| FMU | x86_64-linux |
|---|---|
| Oscillator | CS |
Measured errors:
- FMI 1.0 Dahlquist (CS): max error 7.7e-02 against exp(-k t)
- FMI 1.0 Dahlquist (ME): max error 6.0e-05 against exp(-k t)
- FMI 2.0 Dahlquist (CS): max error 1.9e-02 against exp(-k t)
- FMI 2.0 Dahlquist (ME): max error 6.0e-05 against exp(-k t)
- FMI 3.0 Dahlquist (CS): max error 1.9e-02 against exp(-k t)
- FMI 3.0 Dahlquist (ME): max error 6.0e-05 against exp(-k t)
Not tested: Clocks (FMI 3.0, Scheduled Execution only), and the Windows and macOS binaries.