Cross platform electromagnetics finite element analysis code, with very tight integration with Matlab/Octave.
xfemm is a refactoring of the core algorithms of the popular Windows-only FEMM (Finite Element Method Magnetics, www.femm.info) to use only the standard template library and therefore be cross-platform. The codes can be used as a library, standalone executables, or through the advanced Matlab/Octave interface, which uses direct data exchange at the memory level rather than the original FEMM ActiveX or file-based interface, for much improved communication speed.
- 2D Electromagnetic Finite Element Analysis
- Advanced Matlab/Octave Interface
- Write FEMM .fem files direct from Matlab/Octave
I previously used FEMM for magnetic modelling - a useful tool for interactive modelling of machines (both rotary and linear) in 2D. However, when it came to running multiple designs through FEMM it started to become a bit messy. This is where xfemm helps. It allows easy communication to magnetic modelling from MATLAB and ideally fits inside an optimisation routine for fast simulation of lots and lots of designs. It can be a little hard to diagnose issues, but it's not hard to open the occasional design up in FEMM for looking at what is going on. The downside is that it has been a little tricky to setup due to running a Windows environment, but I got there in the end by carefully setting up the required packages (Cmake, mingw64, gnumex, MATLAB) and using the built in mfemm_setup script. Given the work that has gone into this project, by one person, I think it is fantastic that is freely available and updated.