{{ :wiki:images:mupif-logo.png?100|}}
{{keywords> Open Simulation Platform, Digital twin, Interoperability, Modelling, Simulations, Workflows}}
====== MuPIF ======
MuPIF platform is an open-source, modular, and object-oriented simulation platform designed to create complex, distributed, multiphysics simulation workflows. It integrates existing simulation tools to handle various scales and processing chains.
**Key features of MuPIF include:**
* Distributed Design: Allows execution of simulation scenarios involving remote applications and data.
* Data Management System (DMS): Builds digital twin representations of physical systems, enhancing predictive simulations.
* Interoperability: Standardizes application and data component interfaces, enabling seamless integration of different simulation models and data types.
* Graphical Workflow Editor: Facilitates low-code workflow development and makes implementation more accessible.
* Security: Supports SSL or VPN-based secure communication and data exchange.
* Portability: Written in Python supporting various operating systems, making it a versatile tool for various applications.
* Open Source: Available under LGPL Open source license
MuPIF utilizes an object-oriented approach, with abstract classes defining standardized interfaces introduced to represent simulation models and data types.
This concept allows to manipulate and steer all models using generic interface. It will also allow to abstract from a particular internal data representation of a data type, including storage and location.
In turn, the models working with the data obtain required information from data objects using services, rather than obtaining them by interpreting raw data (which yields the data format dependence). One can think of abstract classes as representing data as “data bricks” with standardized connectors able to be used in their appropriate place in workflows to represent abstract data containers.
MuPIF achieves interoperability with standardization of application and data component interfaces and it is not reliant on standardized data structures or protocols. Any existing data representation or simulation model can be plugged in and used transparently, provided the corresponding data interface is implemented.
{{ :wiki:images:mupif-distributed-v2-cropped.png?nolink&400|}}
Even though the platform can be used locally on a single computer orchestrating installed applications, the real strength of the MuPIF platform is its distributed design, allowing to execute simulation scenarios involving remote applications and data. MuPIF provides a transparent distributed object system, which takes care of the network communication between the objects when they are distributed over different machines on the network.
The simulation workflows are implemented as Python scripts built on top of MuPIF. The graphical workflow editor is available to make the workflow implementation more accessible and convenient.
MuPIF comes with a Data Management System (DMS) called MuPIFDB. The DMS is used to track integrated simulation workflows, their executions including execution inputs and outputs. It also provides a generic Digital Twin model, which is based on Entity Data Model (EDM). The EDM identifies the individual entities, their attributes and relations between them. The EDM is defined using JSON schema, and the DMS structure is generated from this schema. The EDM allows to map entity attributes to simulation workflow inputs (determining the initial conditions) and simulation workflow outputs can be mapped to newly cloned entities representing updated configuration(s). The EDM can be regarded as hypergraph, where nodes represent entity states and edges representing processes.
====== Documentation & Resources ======
* The Musicode project MuPIF training video recording is available on YouTube: [[https://youtu.be/oaN78pB8vxw | Musicode MuPIF training]].
* The mupif/jupyter-demos repository on GitHub contains
* [[https://github.com/mupif/jupyter-demos/blob/main/Introduction/index.ipynb | MuPIF Tutorial for beginners]]
* [[https://github.com/mupif/jupyter-demos/blob/main/API-development/index.ipynb | MuPIF Model API development tutorial]]
* Online [[https://mupif.readthedocs.io/en/latest/#|User manual]] and [[https://mupif.readthedocs.io/en/latest/ref.html|Reference manual]]
* [[https://github.com/mupif/mupif.git| MuPIF github repository]]
* [[wiki:workfloweditor|Workflow Editor and Code Generator]] A graphical tool to compose a workflow structure and generate a Python code of the simulation.
* Examples
* [[wiki:examples:thermo-mechanical-demo|Example of Coupled thermo-mechanical analysis]]
* [[wiki:examples:multiscale-heat-transfer-demo|Demo of Multiscale heat transfer]]
===== How to get MuPIF =====
The easiest installation happens through Python Package Index (pip) which takes care of dependencies and installs/updates missing modules automatically. Run as a command
pip3 install --upgrade git+https://github.com/mupif/mupif.git
Alternatively, you may download and install MuPIF from [[https://github.com/mupif/mupif.git|MuPIF git repository]]
git clone https://github.com/mupif/mupif.git
===== License =====
MuPIF is available under GNU Library or Lesser General Public License version 3.0 (LGPLv3)
===== Support =====
The GitHub issue subsystem to report any bugs or get a support [[https://github.com/mupif/mupif| MuPIF GitHub page]]
===== Authors & Credits =====
Mupif developpers:
* [[http://mech.fsv.cvut.cz/~bp|Bořek Patzák]] (Lead Developper)
* [[http://mech.fsv.cvut.cz/~smilauer/|Vit Šmilauer]]
* Václav Šmilauer
* Martin Horák
* Stanislav Šulc
* Former developpers: Daniel Rypl, Jaroslav Kruis, Guillaume Pacquaut
Contact: Borek.Patzak(at)cvut.cz
===== Related Publications =====
* New: **B. Patzák, S. Šulc and V. Šmilauer. Towards digital twins: Design of an entity data model in the MuPIF simulation platform, Advances in Engineering Software, Volume 197, 2024 (https://www.sciencedirect.com/science/article/pii/S0965997824001406).**
* B. Patzák , S. Šulc , V. Šmilauer. MuPIF: Framework for Digital Twins and Interoperable Simulation Platform for Advanced Material Design. 9th European Congress on Computational Methods in Applied Sciences and Engineering (ECCOMAS 2024), 3-7 June 2024, Lisboa, Portugal.
* S. Belouettar, C. Kavka, B. Patzák, H. Koelman, G. Rauchs, G. Giunta, A. Madeo, S. Pricl, S. et al. Integration of material and process modelling in a business decision support system: Case of COMPOSELECTOR H2020 project. Composite Structures, 204, 778-790, 2018.
* B. Patzák, V. Šmilauer and M. Horák. MuPIF: Multi-Physics Integration Platform. 6th European Conference on Computational Mechanics (ECCM 6), Glasgow, 2018.
* B. Patzák, V. Šmilauer, M. Apel, R. Altenfeld, L. Thielen, A. Lankhorst, [[http://congress.cimne.com/icme2016/admin/files/filepaper/p67.pdf|Multi-Physics Integration Framework MuPIF – design, operation and application to simulate CIGS thin film growth for photovoltaics]], 2nd International Workshop on Software Solutions for ICME, April 2016, Barcelona, Spain.
* B. Patzak, V. Smilauer, and G. Pacquaut, presentation & paper “Design of a Multiscale Modelling Platform” at the 15 th International Conference on Civil, Structural, and Environmental Engineering Computing, 1st - 4th of September 2015, Prague (Czech Republic).
* B. Patzák. Design of a multi-physics integration tool. In B. H. V. Topping, J. M. Adam, F. J. Pallares, R. Bru, and M. L. Romero, editors, Proceedings of the Seventh International Conference on Engineering Computational Technology, Stirlingshire, United Kingdom, 2010. Civil-Comp Press. paper 127.
* **B. Patzák, D. Rypl, and J. Kruis. Mupif – a distributed multi-physics integration tool. Advances in Engineering Software, 60–61(0):89 -- 97, 2013 (http://www.sciencedirect.com/science/article/pii/S0965997812001329).**
===== Projects using MuPIF=====
* **MuPIF spotted by EU Innovation Radar as innovation exploring value creation opportunities** [[https://www.innoradar.eu/innovation/35416]]
* MuPIF used as modeling platform in H2020 [[http://composelector.net|Composelector]] and [[http://musicode.eu|Musicode]] projects
* Platform is used to simulate the effect of fire on structural response, project GACR 16-18448S
* Platform has been used to model moisture condensation in tunnels, project [[http://cesti.cz|CESTI]]
* MuPIF has been used to simulate CIGS selenization and Light conversion in LEDs in EU FP7 [[http://mmp-project.eu|MMP]] project.
===== Events =====
* Ioannina Summer School on Multiscale Modelling and Open Innovation Platforms, 18-23 July 2022, Ioannina, Greece (online event), http://musicode.eu/events/summer-schools/2022
===== Course =====
We offer intensive, one-day course on multi-scale and multi-physics modeling using MuPIF platform. The course covers following topics:
* Fundamentals of MuPIF philosophy, design, and structure
* MuPIF installaton on different platforms
* Application interface explained, connecting existing applications
* Developping custom simulation scenarios
* Practical session on platform usage
===== Acknowledgements=====
* The original development of MuPIF has been funded by Grant Agency of the Czech Republic - Project No. P105/10/1402.
* The development has been supported by several EU project:
* MMP - Multiscale Modelling Platform: Smart design of nano-enabled products in green technologies (FP7 project number 604279),
* [[http://composelector.net|COMPOSELECTOR: Multi-scale Composite Material Selection Platform with a Seamless Integration of Materials Models and Multidisciplinary Design Framework]], Project no 721105, 2017-2020.
At present, the MuPIF development is supported by following projects
* [[http://musicode.eu|H2020 MuSICODE project: An experimentally-validated multi-scale materials, process and device modeling & design platform enabling non-expert access to open innovation in the organic and large area electronics industry]], Grant agreement no. 953187, 2021-2024.
* DeeMa project (Deep-Learning and Optimisation Enabled Material Microstructure Design), funded by Technology Agency of the Czech Republic, grant agreement no. TH75020002.
Access counter:
(Since February, 2023)