Skip to main content

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.

New simulation video{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.

Build simulation model video{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:

MuPhyN project at FOSDEM 2023

Development repository

See the MuPhyN Desktop Development repository to efficiently develop for MuPhyN Desktop.

Metadata

Release files for MuPhyN 0.2.3

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Built distribution (wheel)

Table of built distributions (wheels) for MuPhyN 0.2.3
File Interpreter ABI Platform
muphyn-0.2.3-py3-none-any.whl Python 3 none any Details

Release files / muphyn-0.2.3-py3-none-any.whl

Download URL muphyn-0.2.3-py3-none-any.whl
Size 580.4 kB
Tags Python 3
SHA-256 checksum
How to use checksums
85e44273d9d469351d8aa18e507a52a6f840912f8655f155a731e6c7db63ba06
BLAKE2b-256 checksum
How to use checksums
7eab57e1c0cad7a098fa2956d3c7b24e3146a29e9bf620fde5950aa1e08592aa
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.3

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.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page