Home

Awesome

AI-mag: Inductor Modeling and Design with FEM/ANN

license - BSD language - MATLAB language - python category - power electronics status - unmaintained

https://ai-mag.github.io

AI-mag is a MATLAB toolbox (using also COMSOL and Python) for power electronic inductor optimization. The goal of this tool is to combine the accuracy of the Finite Element Method (FEM) with the evaluation speed of Artificial Neural Network (ANN).

This project is developed by the Power Electronic Systems Laboratory at ETH Zurich and is available under the BSD License. The code is also available on the ETH Data Archive.

More precisely, the following workflow is implemented:

The following performances are achieved:

Tutorial

This short tutorial explains how to install the tool, design inductors, and obtain Pareto fronts.

If you don't have MATLAB, you can quickly test the code on Code Ocean. Due to the limitations of Code Ocean, you can not use plots, GUI, or COMSOL.

Scientific Paper

A scientific paper has been published in the IEEE Open Journal of Power Electronics about this tool. The paper describes the method used in the tool and presents some results (ANN trainings and inductor optimization). The paper is available as open-acces:

Simplified Workflow

<p float="middle"> <img src="resources/img_readme/workflow.png" width="700"> </p>

GUI Screenshots

<p float="middle"> <img src="resources/img_readme/screenshot_1.png" width="400"> <img src="resources/img_readme/screenshot_2.png" width="400"> </p> <p float="middle"> <img src="resources/img_readme/screenshot_3.png" width="400"> <img src="resources/img_readme/screenshot_4.png" width="400"> </p> <p float="middle"> <img src="resources/img_readme/screenshot_5.png" width="400"> <img src="resources/img_readme/screenshot_6.png" width="400"> </p>

Code Structure

The following code structure is considered:

Inductor Optimization Capabilities

Currently the following inductors are optimized:

However, this toolbox is made in order to be easily extended with other inductors types, magnetic components (e.g., transformers, chokes), or optimization method (e.g., genetic algoritm).

Compatibility

The tool is tested with the following MATLAB setup:

The tool is tested with the following COMSOL setup (for FEM simulations):

It should be noted that COMSOL is only required to run the FEM simulations, not for the ANN/regression or the inductor design evaluation. In other word, COMSOL is required to generate the ANN training set, but not for running the design tool.

The tool is tested with the following Python setup (for ANN with Keras and TensorFlow):

However, the toolbox can work without Python, as long as the Python ANN engine is not used.

The tool is known to run with the following operating systems:

The following softwares were used to generate resources but are not required to run the code:

Releases

The source code is available in the GitHub Git repository and contains:

The releases are available at GitHub and contains:

WARNING: The repository does NOT contain the dataset and the trained ANNs.

WARNING: The dataset and the trained ANNs are only included in the releases.

Metrics

-------------------------------------------------------------------------------
Language                     files          blank        comment           code
-------------------------------------------------------------------------------
MATLAB                         107           1795           5144           4925
Markdown                         7            118              0            504
Python                           7            343            417            415
DOS Batch                        2              6              0             24
Bourne Shell                     2              6              6             14
-------------------------------------------------------------------------------
SUM:                           125           2268           5567           5882
-------------------------------------------------------------------------------

FAQ

Do I need Python?

Do I need COMSOL?

Can this toolbox handle big data?

How fast is the code, do I need a powerful machine?

I have a powerful cluster, can I use it?

Can this code run with GNU Octave?

Why the tool in MATLAB and Python and not only in Python?

Can I use another FEM solver (e.g., Ansys, OpenFOAM, Fenics)?

Author

Acknowledgement

License