// ============================================================ // E-I 磁芯带气隙电感 —— 2D 平面磁静场(GetDP 用,自包含) // 配套文件:inductor_ei.pro // 参数出处:库内《反激变压器设计》§9 的 65W/20V QR 示例 // (Np=25、lg=0.46mm、Lp=180µH、B≈0.22T;平面 E-I 等效口径, // 中柱宽 12mm,结果按"每米深度"给出,乘实际叠厚 d 得真实值) // 状态:文件已备(2026-10-03,Windows 本机编写),Linux 侧待跑—— // 语法以 Debian 官方 Lib_Magnetostatics_a_phi.pro 为最终参照, // 个别行如报错请用官方模板对应段替换后再跑。 // 复跑: // gmsh inductor_ei.geo -2 -o inductor_ei.msh // getdp inductor_ei -msh inductor_ei.msh -solve Magnetostatics_a -pos mag // ============================================================ lc = 0.5e-3; // 常规网格尺寸 lcf = 0.08e-3; // 气隙附近细网格(04 篇纪律:气隙网格必须细) cw = 12e-3; // 中柱宽 lg = 0.46e-3; // 中柱总气隙 ww = 4.5e-3; // 单边窗口宽 wh = 14.46e-3; // 窗口高(2×7mm 铁芯 + 0.46mm 气隙) ow = 7.5e-3; // 外臂宽 ty = 4.5e-3; // 上下轭厚 air = 60e-3; // 空气外沿(≥5 倍磁芯尺寸量级,04 篇纪律) lcs = lc; // 当前矩形网格尺寸(宏参数) // ---- 矩形宏:参数 rx1,ry1,rx2,ry2;产出 Curve Loop ll ---- Macro RectIn p1=newp; p2=newp; p3=newp; p4=newp; Point(p1)={rx1,ry1,0,lcs}; Point(p2)={rx2,ry1,0,lcs}; Point(p3)={rx2,ry2,0,lcs}; Point(p4)={rx1,ry2,0,lcs}; l1=newl; Line(l1)={p1,p2}; l2=newl; Line(l2)={p2,p3}; l3=newl; Line(l3)={p3,p4}; l4=newl; Line(l4)={p4,p1}; ll=newll; Curve Loop(ll)={l1,l2,l3,l4}; Return // ---- 中柱(下铁芯 / 气隙 / 上铁芯)---- rx1=0; ry1=0; rx2=cw; ry2=(wh-lg)/2; RectIn; Plane Surface(1)={ll}; rx1=0; ry1=(wh-lg)/2; rx2=cw; ry2=(wh+lg)/2; RectIn; Plane Surface(2)={ll}; rx1=0; ry1=(wh+lg)/2; rx2=cw; ry2=wh; RectIn; Plane Surface(3)={ll}; // ---- 左右绕组窗口(GetDP 电流源区域)---- rx1=cw; ry1=0; rx2=cw+ww; ry2=wh; RectIn; Plane Surface(4)={ll}; rx1=cw+ww; ry1=0; rx2=cw+2*ww; ry2=wh; RectIn; Plane Surface(5)={ll}; // ---- 左外臂 + 上下轭(闭合磁路)---- rx1=cw+2*ww; ry1=0; rx2=cw+2*ww+ow; ry2=wh; RectIn; Plane Surface(6)={ll}; rx1=0; ry1=wh; rx2=cw+2*ww+ow; ry2=wh+ty; RectIn; Plane Surface(7)={ll}; rx1=0; ry1=-ty; rx2=cw+2*ww+ow; ry2=0; RectIn; Plane Surface(8)={ll}; // ---- 气隙附近细网格空气区(fringing 场梯度大)---- lcs=lcf; rx1=cw; ry1=(wh-lg)/2-lcf*8; rx2=cw+lcf*12; ry2=(wh+lg)/2+lcf*8; RectIn; Plane Surface(10)={ll}; // ---- 空气外框(减去内部所有区域)---- lcs=lc*8; rx1=-air; ry1=-ty-air; rx2=cw+2*ww+ow+air; ry2=wh+ty+air; RectIn; Plane Surface(9)={ll, 1,2,3,4,5,6,7,8,10}; // ---- 物理区域标签(GetDP 靠编号识别,对应 .pro 的 Region[n])---- Physical Surface("Core", 1) = {1, 3, 6, 7, 8}; Physical Surface("Gap", 2) = {2}; Physical Surface("CoilL", 3) = {4}; Physical Surface("CoilR", 4) = {5}; Physical Surface("FineAir", 6) = {10}; Physical Surface("Air", 5) = {9};