This README only provides a short overview. For more information please have a look at the detailed documentation here.
Python toolbox to generate preconfigured figures for FEM simulation tools in power electronics.
The toolbox contains two parts, a reluctance module and a FEM module.
- The reluctance module is for pre-calculations
- The FEM module is for detailed calculations
The toolbox is accessible via python code or a graphical user interface (GUI), which current development status is experimental.
Functionality examples
- work with pre-defined standard core structures
- work with pre-defined litz wires
- use python to perform parametersweeps, e.g. perform several automated simulations of different air gap sizes
- read the results automated with python from the FEM simulation tool
- run a thermal simulation to see the temperatures, once the magnetoquasistatic simulation has finished
Note: Alpha Version!
- GUI is experimental,
- reluctance module is currently working for a single optimization example and not fully implemented yet.
To run FEMMT python (version 3.8 or above) and onelab is needed.
- Go to https://onelab.info/
- Download the Desktop Version for your OS (Windows, Linux or macOS)
- Unpack the software and remember the file path. This will be needed later when installing FEMMT.
FEMMT can be installed using the python pip package manager.
This is the stable release version.
pip install femmt
This toolbox is able to build a complete FEM simulation from simple
Python code. The following figure shows the Python code on the left and
the corresponding FEM simulation on the right. 
To run a minimal example please have a look at the basic_example.py.
There is a first preview for a GUI. Installing this is a bit cumbersome at first, but will be simplified in the future:
- Download the complete repository via
Code->Download ZIPand unpack it. - install the development version of femmt as described above
- run python
downloads/path-to_femmt/femmt/gui/femmt_gui.py
Please note, the GUI is experimental.
Planned features in 2022:
- Software stability and general improvements,
- add more Functionality to the GUI,
Please use the issues report button within github to report bugs.
Pull requests are welcome. For major changes, please open an issue first to discuss what you would like to change. For contributing, please refer to this section.
Find the changelog here
This project was initially written in matlab using FEMM simulation tool. It became clear that the project was no longer a small project. The project should be completely rewritten, because many new complex levels have been added. To place the project in the open source world, the programming language python is used.

