4. 参数化几何建模与变量定义
参数化几何建模的核心思想,是把电磁器件的形状、尺寸、位置从“一次性画出来的图形”变成“由一组可调参数驱动的几何”。当设计变量改变时,几何自动重建,网格、材料分配、边界条件和后处理也随之更新。这样,优化算法才能在参数空间中反复搜索,而不需要人工重画模型。本节围绕三个关键问题展开:设计变量、约束变量与导出变量如何划分;几何约束与装配关系如何表达;以及如何用脚本或参数化 CAD 建立可稳定重建的模型。
一、三类变量的职责划分
在参数化模型中,变量不是随意命名的数字,而是按“谁驱动谁、谁限制谁、谁由谁计算”分成三类。
- 设计变量(Design Variables):优化器可以直接调整的独立参数,例如磁芯内半径
R_in、外半径R_out、气隙长度g、绕组匝数N、导体截面宽度w_c。它们构成优化问题的搜索维度。 - 约束变量(Constraint Variables):不直接作为优化目标,但必须满足边界条件或几何关系,例如总高度
H_total ≤ 60 mm、窗口填充率k_fill ≤ 0.45、最小绝缘距离d_ins ≥ 1.2 mm。它们通常以不等式或等式形式出现,限制设计变量的可行域。 - 导出变量(Derived Variables):由设计变量和约束通过公式或几何关系计算得到,例如平均磁路长度
l_e、磁芯截面积A_e、绕组平均匝长l_w、铜损P_cu。它们不独立,但直接进入电磁计算和后处理。
划分清楚后,优化脚本只需修改设计变量,约束变量负责“拦截”不可行方案,导出变量负责把几何信息传递给电磁求解器。三者关系可以用下面的变量依赖图表示。
二、几何约束与装配关系的表达
参数化建模最容易出错的地方,是几何约束没有显式表达,导致参数变化后模型出现自交、间隙消失或装配错位。以环形磁芯与绕组为例,至少需要表达以下约束关系:
- 尺寸链约束:绕组内径必须大于磁芯外径加绝缘厚度,即
R_wind_in ≥ R_out + d_ins。若优化器把R_out调大而R_wind_in未同步,绕组会嵌入磁芯。 - 装配同轴约束:磁芯、骨架、绕组默认共享同一轴线
Z,所有回转体以Z为基准。若引入偏心变量e_x,必须显式声明偏心方向与坐标系一致。 - 端面配合约束:骨架端面与磁芯端面之间保留气隙
g,气隙方向沿Z轴。气隙变化时,绕组窗口高度应同步调整,否则填充率计算失真。 - 参数联动约束:当
R_in变化时,R_out应保持R_out = R_in + t_core(t_core为磁芯径向厚度),避免内外径独立变化导致壁厚失控。
在脚本建模中,这些约束通常写成参数之间的表达式,而不是硬编码数字。例如在 Python 脚本中:
# 参数定义(单位:mm)
R_in = 12.0 # 设计变量:磁芯内半径
t_core = 13.0 # 设计变量:磁芯径向厚度
g = 0.8 # 设计变量:气隙长度
N = 42 # 设计变量:绕组匝数
d_ins = 1.2 # 约束变量:最小绝缘距离
# 导出变量
R_out = R_in + t_core # 磁芯外半径
R_wind_in = R_out + d_ins # 绕组内半径
H_window = 2 * (R_out - R_in) + g # 绕组窗口高度
A_e = 3.14159 * (R_out**2 - R_in**2) # 磁芯截面积
# 约束检查
assert R_wind_in > R_out, "绕组与磁芯干涉"
assert H_window <= 60.0, "总高度超限"
这段代码的关键不是语法,而是把“几何关系”翻译成“参数表达式”。当优化器修改 R_in 或 t_core 时,R_out、R_wind_in、A_e 自动更新,约束检查在每次重建后立即执行。若约束不满足,该组设计变量被标记为不可行,不进入电磁求解。
三、参数化 CAD 与脚本建模的配合
实际工程中,参数化 CAD 适合处理复杂曲面和装配体,脚本建模适合批量扫描和优化循环。两者可以配合使用:在 CAD 中建立带命名参数的模板,导出为脚本可调用的格式;或者直接在脚本中调用 CAD 的 API 重建几何。无论哪种方式,都需要保证以下三点:
- 参数命名唯一且语义明确:避免
d1、d2这类无意义名称,使用R_in、g_air、N_turn等可读名称,便于在优化配置文件中引用。 - 重建过程可重复:同一组参数每次重建应得到相同几何,不依赖人工交互或随机种子。建议在脚本中固定单位制(统一用 mm)和坐标系原点。
- 失败可捕获:几何重建失败(如自交、零厚度)时,脚本应返回明确的错误码,而不是让优化器继续用无效几何计算。常见做法是设置
try/except或检查重建后的体积、面积是否在合理范围。
R_in ∈ [8, 16] mm、t_core ∈ [8, 16] mm、g ∈ [0.2, 1.5] mm、N ∈ [20, 60]。约束为 H_total ≤ 60 mm、k_fill ≤ 0.45。导出变量包括 A_e、l_e、L(电感)和 P_cu(铜损)。优化目标为在满足约束的前提下最大化 L/P_cu。这些数值为教学假设,实际需根据磁芯材料手册和温升要求调整。
四、变量定义检查清单
在进入优化循环之前,建议用以下清单快速核对参数化模型是否就绪:
| 检查项 | 合格标准 | 常见问题 |
|---|---|---|
| 设计变量独立性 | 每个设计变量可单独调整,不与其他变量硬绑定 | 把导出变量误设为设计变量,导致搜索维度冗余 |
| 约束完整性 | 尺寸链、装配、绝缘、填充率均有显式表达式 | 只检查总高,忽略径向干涉 |
| 导出变量一致性 | 导出变量由公式计算,不手工赋值 | 在优化循环中手动修改 A_e,破坏几何一致性 |
| 单位与坐标系 | 全文统一 mm 和 Z 轴回转基准 | CAD 用 m、脚本用 mm,导致量级错误 |
| 重建鲁棒性 | 极端参数下不崩溃,返回明确失败信息 | 参数越界后几何自交,求解器报错中断 |
完成变量定义和几何约束表达后,参数化模型就具备了“可被优化器安全调用”的基本条件。下一步是将这些变量接入电磁求解流程,观察几何变化如何影响磁场分布、电感、损耗和温升,并据此判断优化方向是否合理。