FEM Magnetics Toolbox
Project description
FEM Magnetics Toolbox (FEMMT)
Python toolbox to generate preconfigured figures for FEM simulation tools in power electronics
Functionality examples
- work with pre-defined standard core structures [not implemented yet]
- 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
Note: Alpha Version!
1. Detailed Documentation
Can be found here.
2. Installation
2.1 ONELAB installation
- 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.
2.2 FEMM installation [for Windows User only]
- Go to https://www.femm.info/wiki/Download
- Install FEMM as described
- FEMM can be used as an alternative FEM solver for 2D simulations
2.3 install FEMMT
Chose to install the development version of FEMMT or the release version.
FEMMT development version (for developers)
Note: You may need to install git.
cd /Documents/Folder/of/Interest
git clone git@github.com:upb-lea/FEM_Magnetics_Toolbox.git
pip install -e .
FEMMT official releases (recommended)
Coming soon.
2.4 Minimal example and first run
Run the example from here: basic_example.py. FEMMT will ask you for the installation path of ONELAB during first use.
3. Examples
See examples in basic_example.py
4. Roadmap
Planned features in 2021
- work with pre-defined standard core structures
- work with pre-defined standard core materials
- automated 2D FEM simulation controlled with python
Planned features in 2022
- software stability and general improvements
- basic GUI implementation
- implement basics for thermal simulation
5. Bug Reports
Please use the issues report button within github to report bugs.
6. Contributing
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.
7. Changelog
Find the changelog here
8. License
9. History and project status
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.
Changelog
All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
Unreleased
0.2.0 - 2022-02-14
Updated
- updated the winding generation
- updated the femm reference model
- updated project structure
- updated meshing to hybrid mesh
- updated class structure
Added
- add file Analytical_Core_Data.py
- add example files DAB_Input_Data.py, DAB_trafo_optimization.py
- add file mu_imag.pro
- add folder femmt/thermal
- add result_log_electro_magnetic
- add horizontal interleaved winding scheme
- add method write_log() to femmt.py
- add thermal simulation with onelab
- add femm heat flow validation with femm
Fixed
- fix #5: changed typo to L_h_conc = self.M**2 / self.L_22
- fix #11: rename femmt.py to femmt_classes.py due to package problems
0.1.2 - 2021-08-08
Updated
- updated strand approximation
Added
- add option for dedicated stray path
- add complex permeability and permitivity for core materials for Core Loss estimation
- add iGSE and GSE for Core Loss estimation
0.1.1 - 2021-08-11
Updated
- updated inductance calculations
- code clean up
Fixed
- fix #2: config.json was not read correct
- fix #3: Install pyfemm on windows machines in case of not installed pyfemm
0.1.0 - 2021-07-28
Added
Structure
- add README.md
- add CHANGELOG.md
- add femmt/init.py
Essentials
- add femmt/FEMMT.py
- add femmt/functions.py
- add femmt/ind_axi_python_controlled.pro
- add femmt/solver.pro
- add femmt/BH.pro
Examples
- add femmt/FEMMT_geometric.py
- add femmt/basic_example.py
Additional/Experimental Code
- add femmt/pandas_json.py
- add femmt/femm_test.py
- add femmt/SimComparison.py
- add femmt/SolidComp.py
- add femmt/CompRes.py
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.