magnetic_components_toolbox_matlab
This MATLAB toolbox allows for the modeling and optimization of power magnetic components:
- medium-frequency inductors
- medium-frequency transformers
- computation of the mass and volume
- extraction of the equivalent circuit
- computation of the core and winding losses
- fast and accurate semi-numerical methods
- plotting of the winding and core geometries
- brute-force optimization (parallel code)
- flexible object-oriented design
The following methods/functionalities are provided for the core 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 the winding 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 following components are implemented:
- inductors and two-winding transformers with shell-type windings
- U-core, C-core, and E-core
However, additional components can be added by implementing abtract 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_src_dcx_1_single.m - modelization of a single design
- run_src_dcx_2_combine.m - brute-force optimization of the component
- run_src_dcx_3_plot.m - optimization results (Pareo fronts
- bidirectional Buck converter (Buck DC-DC) with a MF inductor
- run_buck_dcdc_1_single.m - modelization of a single design
- run_buck_dcdc_2_combine.m - brute-force optimization of the component
- run_buck_dcdc_3_plot.m - optimization results (Pareo fronts)
- example_files - definition of the parameters, materials, and waveforms
The power magnetic toolbox contains the following 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 - data format 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
- window/DATA_STRUCT.txt - data format 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 - data format 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
- Tested with MATLAB R2015b and R2021a.
- Parallel Computing Toolbox.
- Compatibility with GNU Octave not tested but probably problematic.
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
This project is licensed under the BSD License, see LICENSE.md.
Cite As
Thomas Guillod (2024). 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.
example_files
example_files/buck_dc_dc
example_files/signal
example_files/src_dcx
magnetic_toolbox
magnetic_toolbox/component
magnetic_toolbox/component/component_example
magnetic_toolbox/component/component_lib/component_type
magnetic_toolbox/component/component_lib/component_utils
magnetic_toolbox/core
magnetic_toolbox/core/core_example
magnetic_toolbox/core/core_lib/core_component
magnetic_toolbox/core/core_lib/core_geom
magnetic_toolbox/core/core_lib/core_material
magnetic_toolbox/core/core_lib/reluctance_method
magnetic_toolbox/sweep
magnetic_toolbox/sweep/sweep_example
magnetic_toolbox/sweep/sweep_lib
magnetic_toolbox/window
magnetic_toolbox/window/window_example
magnetic_toolbox/window/window_lib/conductor
magnetic_toolbox/window/window_lib/mirroring_method
magnetic_toolbox/window/window_lib/winding
magnetic_toolbox/window/window_lib/window_component
magnetic_toolbox/window/window_lib/window_geom
Versions that use the GitHub default branch cannot be downloaded
Version | Published | Release Notes | |
---|---|---|---|
1.0.0 |
|