Simulate Functional Mockup Units (FMUs) in Python
FMPy is a free Python library to simulate Functional Mock-up Units (FMUs) that...
Several options are available:
conda install -c conda-forge fmpy
python -m pip install fmpy[complete]
If you don't have Python on your machine you can install Anaconda Python.
You can start the FMPy GUI with
python -m fmpy.gui
To follow this example download
Rectifier.fmufor your platform by clicking on the respective link: Linux, macOS, Windows. Change to the folder where you've saved the FMU and open a Python prompt.
>>> from fmpy import * >>> fmu = 'Rectifier.fmu' >>> dump(fmu) # get informationModel Info
FMI Version 2.0 Model Name Rectifier Description Model Rectifier Platforms win64 Continuous States 4 Event Indicators 6 Variables 63 Generation Tool MapleSim (1267140/1267140/1267140) Generation Date 2017-10-04T12:07:10Z
Default Experiment
Stop Time 0.1 Step Size 1e-07
Variables (input, output)
Name Causality Start Value Unit Description outputs output 282.842712474619 V Rectifier1.Capacitor1.v >>> result = simulate_fmu(fmu) # simulate the FMU >>> from fmpy.util import plot_result # import the plot function >>> plot_result(result) # plot two variables
To get information about an FMU directly from the command line change to the folder where you've saved the FMU and enter
fmpy info Rectifier.fmu
Simulate the FMU and plot the results
fmpy simulate Rectifier.fmu --show-plot
Get more information about the available options
fmpy --help
To create a Jupyter Notebook open an FMU in the FMPy GUI and select
Tools > Create Jupyter Notebook...or run
fmpy create-jupyter-notebook Rectifier.fmu
on the command line and open the notebook in Jupyter with
jupyter notebook Rectifier.ipynb
The FMPy Web App is built with Dash and a great way to share your FMUs with anyone that has a web browser. To start it run
python -m fmpy.webapp Rectifier.fmu
on the command line or use
--helpfor more options.
To learn more about how to use FMPy in you own scripts take a look at the coupled_clutches.py, custom_input.py and parameter_variation.py examples.
You're starting a project, need training or professional support? Our partners at LTX Simulation are ready to help you. Please send an e-mail to [email protected] for a quote.
© 2020 Dassault Systèmes