Skip to main content

FMUs co-simulation in Python

Project description

CoFMPy logo


👋 About CoFMPy

CoFMPy is a Python library designed for rapid prototyping of digital twins through the co-simulation of Functional Mock-up Units (FMUs). It offers advanced master coordination features, such as solving algebraic loops between FMUs and managing the interaction between various simulation components. This library provides a seamless interface to orchestrate complex physics simulations and handle the data exchange between FMUs.

The documentation is available online: https://irt-saint-exupery.github.io/CoFMPy

🐾 Installation

CoFMPy is available on PyPI and can be installed using pip:

pip install cofmpy

🐍 Python interface

The Python interface allows users to use CoFMPy and run co-simulation. A high-level API is provided to easily run and visualize a co-simulation system. Advanced users can also dive deeper into the structure of CoFMPy for a more advanced control of the components.

Under the hood, CoFMPy is controlled by a component called the Coordinator. It is the entry point of CoFMPy and it manages all the other components:

  • the Master algorithm which is the engine that runs the co-simulation of FMUs.
  • the Graph Engine that builds the connections and interactions between the FMUs and the data sources and sinks.
  • the data stream handlers that control the input data required by the co-simulation system.
  • the data storages that allow to store or send the outputs of the simulation.

📜 JSON configuration file

To properly define the co-simulation system, a JSON configuration file must be created. This file is the only information required by CoFMPy to run the simulation. It must respect a specific syntax in order to define the FMUs, the interactions between them, the data sources and sinks, etc.

✒️ Contributing

Feel free to propose your ideas or come and contribute with us on the CoFMPy library!

🙏 Acknowledgments

This project was funded by the European Union under GA no 101101961 - HECATE. Views and opinions expressed are however those of the authors only and do not necessarily reflect those of the European Union or Clean Aviation Joint Undertaking. Neither the European Union nor the granting authority can be held responsible for them. The project is supported by the Clean Aviation Joint Undertaking and its Members.

HECATE logo IRT Saint Exupéry logo

📝 License

The package is released under the 2-Clause BSD License.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

cofmpy-0.2.0.tar.gz (5.0 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

cofmpy-0.2.0-py3-none-any.whl (5.6 kB view details)

Uploaded Python 3

File details

Details for the file cofmpy-0.2.0.tar.gz.

File metadata

  • Download URL: cofmpy-0.2.0.tar.gz
  • Upload date:
  • Size: 5.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.2

File hashes

Hashes for cofmpy-0.2.0.tar.gz
Algorithm Hash digest
SHA256 d616fec03672e154894bc47f18d2f94f33082073babd8c900c0c73008de35960
MD5 eb8f38fe768b58107bc80d190d56d038
BLAKE2b-256 649b4ce5d42de5532109240d63ee3847ff17720350b00dfb757fb053c9a408e5

See more details on using hashes here.

File details

Details for the file cofmpy-0.2.0-py3-none-any.whl.

File metadata

  • Download URL: cofmpy-0.2.0-py3-none-any.whl
  • Upload date:
  • Size: 5.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.2

File hashes

Hashes for cofmpy-0.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 867d4433cc8264fddf577a9c557497acef9be433215aac104c0b63493897d1d4
MD5 bb215883bb6c76b0dfe8c24af3275777
BLAKE2b-256 84cea48121966236c2efcd15e4afb80eedff8b7685c9b2534a6a005ebde9191c

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page