# MATLAB Toolbox for Power Magnetics: Model and Optimization
![license - BSD](https://img.shields.io/badge/license-BSD-green)
![language - MATLAB](https://img.shields.io/badge/language-MATLAB-blue)
![category - power electronics](https://img.shields.io/badge/category-power%20electronics-lightgrey)
![status - unmaintained](https://img.shields.io/badge/status-unmaintained-red)
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
## Getting Started
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](run_src_dcx_1_single.m) - modelization of a single design
* [run_src_dcx_2_combine.m](run_src_dcx_2_combine.m) - brute-force optimization of the component
* [run_src_dcx_3_plot.m](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](run_buck_dcdc_1_single.m) - modelization of a single design
* [run_buck_dcdc_2_combine.m](run_buck_dcdc_2_combine.m) - brute-force optimization of the component
* [run_buck_dcdc_3_plot.m](run_buck_dcdc_3_plot.m) - optimization results (Pareo fronts)
* [example_files](example_files) - definition of the parameters, materials, and waveforms
## Gallery
### Buck DC-DC Inductor
<p float="middle">
<img src="readme_img/inductor_core.png" width="350">
<img src="readme_img/inductor_window.png" width="350">
</p>
### SRC-DCX Transformer
<p float="middle">
<img src="readme_img/transformer_core.png" width="350">
<img src="readme_img/transformer_window.png" width="350">
</p>
### Pareto Fronts
<p float="middle">
<img src="readme_img/buck_dcdc.png" width="350">
<img src="readme_img/src_dcx.png" width="350">
</p>
## Toolbox Organization
The power magnetic toolbox contains the following packages:
* [add_path_mag_tb.m](magnetic_toolbox/add_path_mag_tb.m) - add the toolbox to the MATLAB path
* [core](magnetic_toolbox/core) - core reluctance and core losses
* [core/README.txt](magnetic_toolbox/core/README.txt) - package documentation
* [core/DATA_STRUCT.txt](magnetic_toolbox/core/DATA_STRUCT.txt) - data format documentation
* [core/core_class.m](magnetic_toolbox/core/core_class.m) - main class
* [core/core_lib](magnetic_toolbox/core/core_lib) - package internal classes
* [core/core_example](magnetic_toolbox/core/core_example) - example/test files
* [window](magnetic_toolbox/window) - winding window stray field and winding losses
* [window/README.txt](magnetic_toolbox/window/README.txt) - package documentation
* [window/DATA_STRUCT.txt](magnetic_toolbox/window/DATA_STRUCT.txt) - data format documentation
* [window/window_class.m](magnetic_toolbox/window/window_class.m) - main class
* [window/window_lib](magnetic_toolbox/window/window_lib) - package internal classes
* [window/window_example](magnetic_toolbox/window/window_example) - example/test files
* [component](magnetic_toolbox/component) - simulation of complete components (inductor or transformer)
* [component/README.txt](magnetic_toolbox/component/README.txt) - package documentation
* [component/DATA_STRUCT.txt](magnetic_toolbox/component/DATA_STRUCT.txt) - data format documentation
* [component/component_class.m](magnetic_toolbox/component/component_class.m) - main class
* [component/component_lib](magnetic_toolbox/component/component_lib) - package internal classes
* [component/component_example](magnetic_toolbox/component/component_example) - example/test files
* [sweep](magnetic_toolbox/sweep) - simulation of design sweeps (brute-force optimization)
* [sweep/README.txt](magnetic_toolbox/sweep/README.txt) - package documentation
* [sweep/get_sweep_single.m](magnetic_toolbox/sweep/get_sweep_single.m) - simulating a single parameter combination
* [sweep/get_sweep_combine.m](magnetic_toolbox/sweep/get_sweep_combine.m) - simulating a many parameter combinations
* [sweep/sweep_lib](magnetic_toolbox/sweep/sweep_lib) - package internal functions
* [sweep/sweep_example](magnetic_toolbox/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](https://github.com/otvam)
This toolbox shares some files/ideas with the following repositories:
* [mirroring_method_matlab](https://github.com/ethz-pes/mirroring_method_matlab) - ETH Zurich, Power Electronic Systems Laboratory, T. Guillod, BSD License
* [litz_wire_losses_fem_matlab](https://github.com/ethz-pes/litz_wire_losses_fem_matlab) - ETH Zurich, Power Electronic Systems Laboratory, T. Guillod, BSD License
## License
This project is licensed under the **BSD License**, see [LICENSE.md](LICENSE.md).
没有合适的资源?快使用搜索试试~ 我知道了~
MATLAB功率磁学工具箱:模型和优化(高分项目).zip
共108个文件
m:92个
txt:7个
png:6个
需积分: 3 0 下载量 13 浏览量
2024-03-09
14:58:35
上传
评论
收藏 269KB ZIP 举报
温馨提示
matlab算法,工具源码,适合毕业设计、课程设计作业,所有源码均经过严格测试,可以直接运行,可以放心下载使用。 Matlab(Matrix Laboratory)是一种专为数值计算和科学与工程应用而设计的高级编程语言和环境。在算法开发和实现方面,Matlab具有以下一些好处: 1. 丰富的数学和科学函数库:Matlab提供了广泛的数学、信号处理、图像处理、优化、统计等领域的函数库,这些函数库可以帮助开发者快速实现各种复杂的数值计算算法。这些函数库提供了许多常用的算法和工具,可以大大简化算法开发的过程。 2. 易于学习和使用:Matlab具有简单易用的语法和直观的编程环境,使得算法开发者可以更快速地实现和测试他们的算法。Matlab的语法与数学表达式和矩阵操作非常相似,这使得算法的表达更加简洁、清晰。 3. 快速原型开发:Matlab提供了一个交互式的开发环境,可以快速进行算法的原型开发和测试。开发者可以实时查看和修改变量、绘制图形、调试代码等,从而加快了算法的迭代和优化过程。这种快速原型开发的特性使得算法开发者可以更快地验证和修改他们的想法。 4. 可视化和绘图功能:Matlab具有强大的可视化和绘图功能,可以帮助开发者直观地展示和分析算法的结果。开发者可以使用Matlab绘制各种图形、曲线、图像,以及创建动画和交互式界面,从而更好地理解和传达算法的工作原理和效果。 5. 并行计算和加速:Matlab提供了并行计算和加速工具,如并行计算工具箱和GPU计算功能。这些工具可以帮助开发者利用多核处理器和图形处理器(GPU)来加速算法的计算过程,提高算法的性能和效率
资源推荐
资源详情
资源评论
收起资源包目录
MATLAB功率磁学工具箱:模型和优化(高分项目).zip (108个子文件)
.gitignore 12B
reluctance_element.m 15KB
core_steinmetz_map.m 15KB
window_adapter.m 14KB
conductor_losses.m 12KB
mirror_physics.m 12KB
get_material_core.m 12KB
get_material_N87.m 12KB
core_class.m 11KB
reluctance_solve.m 10KB
component_class.m 9KB
mirror_conductor.m 9KB
mirroring_method.m 9KB
window_class.m 9KB
winding_manager.m 9KB
window_component_abstract.m 8KB
mirror_check.m 8KB
core_geom_E_type.m 8KB
winding_mirroring.m 7KB
winding_geom_internal.m 7KB
core_material.m 7KB
core_geom_C_type.m 6KB
core_steinmetz.m 6KB
reluctance_method.m 6KB
core_adapter.m 6KB
winding_geom_external.m 5KB
component_type_abstract.m 5KB
window_component_transformer.m 5KB
conductor_geom.m 4KB
window_geom_core.m 4KB
window_geom_abstract.m 4KB
reluctance_limb.m 4KB
window_geom_core_head.m 4KB
core_steinmetz_losses.m 4KB
transformer_C_type.m 4KB
core_component_transformer.m 4KB
inductor_C_type.m 4KB
transformer_E_type.m 4KB
inductor_E_type.m 4KB
get_transformer_fct_solve.m 3KB
core_component_inductor.m 3KB
window_component_inductor.m 3KB
test_mirroring_transformer.m 3KB
get_transformer_stress.m 3KB
window_geom_head.m 3KB
core_geom_abstract.m 3KB
get_sweep_span.m 3KB
get_inductor_fct_solve.m 3KB
get_parfor_res.m 3KB
core_component_abstract.m 3KB
get_inductor_stress.m 2KB
test_window_transformer.m 2KB
get_extract_fom.m 2KB
test_component_transformer.m 2KB
test_window_inductor.m 2KB
get_transformer_parameter.m 2KB
test_reluctance_method.m 2KB
get_res_assemble.m 2KB
test_component_inductor.m 2KB
test_core_transformer.m 2KB
get_transformer_validity.m 2KB
get_inductor_parameter.m 2KB
test_core_inductor.m 2KB
get_plot_cursor.m 2KB
run_src_dcx_2_combine.m 1KB
run_src_dcx_1_single.m 1KB
get_inductor_validity.m 1KB
run_buck_dcdc_2_combine.m 1KB
test_mirroring_inductor_core.m 1KB
get_sweep_single.m 1KB
get_sweep_combine.m 1KB
add_path_mag_tb.m 1KB
test_mirroring_inductor_head.m 1KB
get_res_slice.m 1KB
test_conductor.m 1KB
run_src_dcx_3_plot.m 1012B
run_buck_dcdc_3_plot.m 1012B
get_material_litz.m 939B
get_plot_front.m 937B
run_buck_dcdc_1_single.m 936B
test_core_material.m 898B
get_conductor_litz.m 871B
test_sweep_combine.m 836B
get_chunk.m 779B
get_fct_solve.m 770B
test_sweep_single.m 712B
sim_end.m 646B
get_conductor_plain.m 607B
get_fft.m 578B
get_f_vec.m 472B
get_spec_flag.m 462B
sim_start.m 442B
get_d_vec.m 427B
README.md 7KB
LICENSE.md 1KB
buck_dcdc.png 62KB
src_dcx.png 45KB
transformer_window.png 13KB
inductor_window.png 12KB
transformer_core.png 12KB
共 108 条
- 1
- 2
资源评论
若明天不见
- 粉丝: 1w+
- 资源: 273
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功