magnetic_components_toolbox_matlab
MATLAB Toolbox for Power Magnetics: Model and Optimization
ThisMATLAB toolboxallows for themodeling and optimizationof powermagnetic components:
- medium-frequencyinductors
- medium-frequencytransformers
- computation of themass and volume
- extraction of theequivalent circuit
- computation of thecore and winding losses
- fast and accuratesemi-numerical methods
- plotting of the winding and core geometries
- brute-forceoptimization(parallel code)
- flexibleobject-orienteddesign
The following methods/functionalities are provided for thecore modeling:
- iGSE for the core losses (with locally fitted parameters from a loss map)
- linear reluctance solver with 3D air gap models
- multiple air gaps are allowed
- multiphases components are allowed
The following methods/functionalities are provided for thewinding modeling:
- mirroring method with inductance matrix and field evaluation (with/without air gaps)
- solid wire windings (including skin and proximity losses)
- stranded (Litz) wire windings (including skin and proximity losses)
- multiple air gaps are allowed
- multiphases components are allowed
- model of the winding heads
Currently, the followingcomponents are implemented:
- inductors and two-winding transformers with shell-type windings
- U-core, C-core, and E-core
However,additional componentscan be added by implementingabtract classes. More specifically, the code could handle the following cases (without modifying the core classes):
- multiphase components (transformers or chokes)
- other winding geometries (core-type, matrix, etc.)
- other core geometries (ELP, RM, etc.)
- distributed airgaps
开始
Two DC-DC converters are considered as examples:
- a resonant converter (SRC-DCX) with a MF transformer
- a bidirectional Buck converter (Buck DC-DC) with a MF inductor
Both converteres are operating between 400V and 100V buses with a rated power of 5kW. The component geometry (core and windings) and the operating frequency are optimized.
The example consists of the following files:
- resonant converter (SRC-DCX) with a MF transformer
- run_1_src_dcx_single.m- modelization of a single design
- run_2_src_dcx_combine.m- brute-force optimization of the component
- run_3_src_dcx_plot.m- optimization results (Pareo fronts
- bidirectional Buck converter (Buck DC-DC) with a MF inductor
- run_1_buck_dcdc_single.m- modelization of a single design
- run_2_buck_dcdc_combine.m- brute-force optimization of the component
- run_3_buck_dcdc_plot.m- optimization results (Pareo fronts)
- example_files- definition of the parameters, materials, and waveforms
Gallery
Buck DC-DC Inductor
SRC-DCX Transformer
Pareto Fronts
Toolbox Organization
磁工具箱包含以下packages:
- add_path_mag_tb.m- add the toolbox to the MATLAB path
- core- core reluctance and core losses
- core/README.txt- package documentation
- core/DATA_STRUCT.txt-数据形式at documentation
- core/core_class.m- main class
- core/core_lib- package internal classes
- core/core_example- example/test files
- window- winding window stray field and winding losses
- window/README.txt- package documentation
- 窗口/ DATA_STRUCT.txt-数据形式at documentation
- window/window_class.m- main class
- window/window_lib- package internal classes
- window/window_example- example/test files
- component- simulation of complete components (inductor or transformer)
- component/README.txt- package documentation
- component/DATA_STRUCT.txt-数据形式at documentation
- component/component_class.m- main class
- component/component_lib- package internal classes
- component/component_example- example/test files
- sweep- simulation of design sweeps (brute-force optimization)
- sweep/README.txt- package documentation
- sweep/get_sweep_single.m- simulating a single parameter combination
- sweep/get_sweep_combine.m- simulating a many parameter combinations
- sweep/sweep_lib- package internal functions
- sweep/sweep_example- example/test files
Compatibility
- Tested with MATLAB R2015b and R2021a.
- Parallel Computing Toolbox.
- Compatibility with GNU Octave not tested but probably problematic.
Author
Thomas Guillod-GitHub Profile
This toolbox shares some files/ideas with the following repositories:
- mirroring_method_matlab- ETH Zurich, Power Electronic Systems Laboratory, T. Guillod, BSD License
- litz_wire_losses_fem_matlab- ETH Zurich, Power Electronic Systems Laboratory, T. Guillod, BSD License
License
This project is licensed under theBSD License, seeLICENSE.md.
Cite As
Thomas Guillod (2021).magnetic_components_toolbox_matlab(https://github.com/otvam/magnetic_components_toolbox_matlab), GitHub. Retrieved.
MATLAB Release Compatibility
Platform Compatibility
Windows macOS LinuxTags
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!Discover Live Editor
Create scripts with code, output, and formatted text in a single executable document.