MuPhyN - Multi Physical Nexus
MatLab/Simulink is a very powerful tool that allows engineers to simulate complex multi-physical systems. Free and open-source tools exist such as Scilab + Xcos or Octave that tries to be compatible with MatLab/Simulink, but the approach of MuPhyN is to replicate the power and ease of use of the MatLab/Simulink combination by using (i)Python instead of MatLab combined with the MuPhyN graphical interface instead of Simulink.
Free libraries such as scipy and numpy offer numerical tools that can replicate most of MatLab toolboxes, and implementing them into new boxes in MuPhyN is trivial thanks to easily expandable libraries of boxes.
It is based on a PySide6 Qt interface and uses a simulator core, MuPhyN is fully written in Python and uses YAML as the descriptive language. The library feature allows users to easily add as many boxes and schedulers as they want.
Summary
Install
Stable version (PIP)
The stable version of MuPhyN is available with pip.
Install using pip:
pip install muphyn
Running in standalone mode
Launch the software:
python3 -m muphyn
Usage
Create a new simulation
To create a new simulation, you can use the "File > New > Simulation" menu.
You can close the current simulation by using the "File > Close" menu or "Ctrl + W".
You can also use the "File > Open" menu or "Ctrl + O" to open an existing simulation and the "File > Save" menu or "Ctrl + S" to save the current simulation.
{width=814 height=600}
Build simulation model
You can easily drag / drop elements from the library. Once dropped, you can link the inputs and the outputs of the box. You can also edit the properties of the boxes in order to change their behaviors. Once everything is set up, you only need to press the F5 key or click on the "Simulation > Start simulation" menu.
{width=814 height=600}
Running the simulation
Use the simulation toolbar to start or stop the simulation. You can also use the "Simulation" menu or F5 and F6 keys to do the same actions.
Select libraries
Use the View > Libraries sub menus to add the libraries.
Development
Current Features
- Fixed-step simulation
- Basic boxes : Addition, Amplifier, Constant, Derivate, Graph, Integrator, Multiplier, Ramp, Sine, Square, Step
- Schedulers : Default
- Transfer Function box using scipy ODE solver
- Libraries management for both the boxes and the schedulers
- Draggable and droppable element from the library
- Properties panel for the dragged boxes
- Draggable links between the inputs and outputs of boxes
Feature perspectives
MuPhyn should be capable of running into an iPython interactive shell while having access to the namespace of the shell. This means that python code could be run in the shell to dynamically generate parameters that can be directly used into the MuPhyN model of the simulated system.
MuPhyN is also intended to be expandable to other simulation tools. A connection to OpenModelica is being developed to simulate different kinds of systems with lumped elements. Connection to open source finite element analysis softwares such as FEATools or field solver tools like openEMS or FEMM are also considered.
TODO
Known bugs
- Slowdown of the interface when using a lot of boxes
- Bug in the inputs panel in box parameters sideview (requires to increase side panel width to see the inputs)
Publications
FOSDEM 2023
FOSDEM is an European event centered on free and open-source software development.
The project has been introduced with a presentation on 4th March 2023. The presentation can be watched with the following link:
Development repository
See the MuPhyN Desktop Development repository to efficiently develop for MuPhyN Desktop.
Metadata
Release files for MuPhyN 0.2.2
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| muphyn-0.2.2-py3-none-any.whl | Python 3 | none | any | Details |
Release files / muphyn-0.2.2-py3-none-any.whl
| Download URL | muphyn-0.2.2-py3-none-any.whl |
|---|---|
| Size | 580.0 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
049d481db3ccbdff4cae372a79c91b30098c52afd854e1e0e741b06f23f5bbcd
|
|
BLAKE2b-256 checksum How to use checksums |
86c9de5bef56873381da5b9e1be0137c78965bdf9e9de1f0748772463c03b532
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.3
|
Security for MuPhyN 0.2.2
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.