PyFMI: A Python Package for Simulation of Coupled Dynamic Models with the Functional Mock-up Interface

Christian Andersson, Johan Åkesson, Claus Führer

Research output: Book/ReportReportResearch

9535 Downloads (Pure)


With the advent of the Functional Mock-up Interface (FMI) standard, exchanging dynamic models between modeling and simulation tools has been greatly simplified. At the core of it, FMI is a standardized and unified model execution interface for dynamic models. FMI has gained widespread adoption among users and numerous commercial and open source tools implement support for the standard. In this article, the Python package PyFMI is introduced. PyFMI supports loading and execution of models compliant with the FMI standard, called Functional Mock-up Units (FMUs). It includes a master algorithm for simulation of coupled FMUs together with connections to both Assimulo, for simulation of single FMUs, and to SciPy, for performing parameter estimation. Accessing models compliant with FMI in Python, which is an open and accessible scripting language, is intended to further spread the standard and also promote and facilitate future development of the standard. This is due to Python being a convenient language for experimentation and prototyping of numerical algorithms. PyFMI is also demonstrated on a number of problems that highlights its viability for solving industrial grade simulation problems with FMUs.
Original languageEnglish
PublisherCentre for Mathematical Sciences, Lund University
Number of pages40
Publication statusPublished - 2016

Publication series

NameTechnical Report in Mathematical Sciences
PublisherCentre for the Mathematical Sciences, Lund University
ISSN (Print)1403-9338

Subject classification (UKÄ)

  • Mathematics


  • Functional Mock-up Interface
  • FMI
  • Python
  • Simulation
  • Co-Simulation
  • Ordinary differential equations
  • Parameter Estimation


Dive into the research topics of 'PyFMI: A Python Package for Simulation of Coupled Dynamic Models with the Functional Mock-up Interface'. Together they form a unique fingerprint.

Cite this