FMUs co-simulation in Python
Project description
👋 About CoFmuPy
CoFmuPy 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/CoFmuPy
🐾 Installation
CoFmuPy is available on PyPI and can be installed using pip:
pip install cofmupy
🐍 Python interface
The Python interface allows users to use CoFmuPy 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 CoFmuPy for a more advanced control of the components.
Under the hood, CoFmuPy is controlled by a component called the Coordinator. It is the entry point of CoFmuPy 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 CoFmuPy 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 CoFmuPy 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.
📝 License
The package is released under the 2-Clause BSD License.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file cofmupy-0.9.0.tar.gz.
File metadata
- Download URL: cofmupy-0.9.0.tar.gz
- Upload date:
- Size: 88.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.14.2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
e9c9daade121dd69f415563a71117ba5c600b99d9ba54a1f27eb339a644a64d4
|
|
| MD5 |
4aeee96745e60f39e2041998bb5ef352
|
|
| BLAKE2b-256 |
0e99d35a4683658cf273386c4e502aa876a30423947fedd7209296701b0d44b8
|
File details
Details for the file cofmupy-0.9.0-py3-none-any.whl.
File metadata
- Download URL: cofmupy-0.9.0-py3-none-any.whl
- Upload date:
- Size: 150.9 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.14.2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
e78ddaf20b8bad0a8be6f371793868a3cd49ba24080b92220b653490d28b8b62
|
|
| MD5 |
3b8497fa5d931ecb3dc001dc2b468893
|
|
| BLAKE2b-256 |
07ef8d6126a69d535e891e8330c1e9568c3784087a15c6fc4da1474c9de88b96
|