变压器流固耦合温度场建模:从电磁损耗到热点分布 变压器流固耦合温度场建模从电磁损耗到热点分布的一次完整求解过程做变压器温升仿真这件事我最早是踩过坑的。一位做配电变压器的朋友让我帮忙评估一台油浸式变压器在1.2倍额定负载下的绕组热点温度我一开始想得很简单把绕组、铁芯、油箱建出来铁芯和铜排上给个热源算固体传热不就行了。算完发现顶部油温和绕组温升离谱得没法看和厂里实际温升试验数据差了十几摄氏度。问题就出在我把变压器当成了一个纯导热体忽略了绝缘油在温度差驱动下的自然对流。后来我把模型拆成两个阶段——先算电磁场提取损耗再把损耗映射成热源用流固耦合温度场把油流和传热一起解结果才和试验对上了。这篇文章就是把整套流程拆开讲清楚电磁场怎么建模、损耗怎么计算、损耗怎么变成热源、流固耦合温度场怎么搭以及最后怎么调收敛、怎么验证希望能给刚开始做COMSOL变压器多物理场仿真的同行省点时间。1. 热点温度才是变压器的命根子而热点无法靠纯导热算出来1.1 温升仿真的真实目的找到绕组最热的地方变压器运行中内部损耗全部变成热量热量通过绝缘油、油箱表面散到环境里最后达到热平衡。工程上真正关心的不是平均温度而是绕组最热处的温度也就是热点温度。绝缘纸、绝缘油的寿命对温度极其敏感工程经验里有一个粗略的说法温度每增加6到10摄氏度绝缘老化速度可能翻倍。热点温度直接决定变压器能过载多少、寿命有多长因此温升计算是所有变压器设计验证绕不开的一环。COMSOL里做变压器温升仿真最大的优势在于它把电磁场、损耗计算、流动和传热放在同一个软件里不需要像传统流程那样在电磁软件里算出损耗再导到CFD软件里做热分析。电磁模型和热流模型可以共用几何损耗密度可以以体积热源的形式直接传递给温度场这种耦合链路的完整性是这类多物理场问题能够一次搭完的关键。1.2 为什么单算固体传热会严重偏差油在搬运热量很多新手会把绕组和铁芯的热源直接加进去然后开一个固体传热接口就算完了。这么算的结果往往是铁芯和绕组温度高得离谱因为忽略了最大的传热通路——油流。变压器内部绝缘油在绕组和铁芯表面被加热后密度下降在重力作用下向上浮升顶部热油顺着油箱壁或散热器下降形成一个自然对流循环。热量从绕组表面被油带走又由油带到油箱壁散出去。这个过程用纯导热根本无法描述因为导热方程里没有对流输运项。所以在COMSOL模型里变压器内部的油不能只当成一个导热系数比空气好一些的固体材料它必须被当作流体求解。这就产生了流固耦合温度场这个说法绕组、铁芯这些固体区域求解热传导油流区域同时求解流动方程和能量方程在油和固体的交界面上热量通过热通量连续性自动传递。模型里流场和温度场是双向耦合的——温度分布驱动浮力浮力决定流速流速反过来重新分配温度。这也是整个项目里最核心的物理过程。2. 电磁场求解与损耗计算先让热源本身算得靠谱2.1 用磁矢量势求解频域磁场而不是耦合瞬态磁场变压器电磁场仿真的目标不是看某个瞬间的场分布而是获得损耗的空间分布。这里的核心选择是求解频率。工频变压器运行在50Hz或60Hz电磁场周期性变化损耗时间平均后是一个稳定量而温度场的时间常数是小时级的。这两种物理过程的特征时间尺度相差巨大没有必要让磁场和温度场在同一个瞬态模型里跑。在实际项目中我习惯先把电磁场做频域稳态求解取得损耗密度再去算温度场。在COMSOL中AC/DC模块下的Magnetic Fields接口也就是常说的mf接口是变压器电磁仿真的主力。它基于磁矢量势A求解磁场频率域方程主项写出来是∇ × (1/μ · ∇ × A) jωσA J_e其中μ是磁导率σ是电导率ω是角频率J_e是外加电流密度。引入磁矢量势的好处是自动满足磁通连续性让求解器不需要额外处理散度约束也适合处理变压器这种铁芯和空气磁导率差异巨大的结构。绕组的电流激励在COMSML里有专门的Coil特征可以设置。对于变压器绕组通常是一个多匝线圈组不需要人为把几百匝导线一根根建出来。给绕组区域指定Coil域填入匝数、电流有效值或从空载和短路试验反推软件会计算出绕组的电流分布和电阻损耗。这里有个值得注意的点Coil特征既可以选择电压激励也可以选择电流激励计算变压器电磁场时我更推荐电流激励因为电压激励需要额外保证绕组感应电势和阻抗的平衡收敛性和物理匹配度都不如电流激励稳。2.2 铜损和铁芯损耗的计算路径损耗一般分为三块绕组铜损、铁芯损耗、结构件杂散损耗。绕组铜损的本质是电流在导体电阻上的发热。在频域磁场解出来后COMSOL可以给出绕组区域的电流密度分布J和电场强度E铜损的体积密度按 RMS 值计算Q_cu |J|² / σ 或 Q_cu σ |E|²这里只要注意单位——如果磁场的解是频域峰值还是RMS后处理时需要统一否则损耗会差两倍。我在项目中统一用RMS值输出减少换算出错的可能性。铁芯损耗不是简单的一个I²R能描述的它来自铁芯材料在交变磁场下的磁滞损耗和涡流损耗。COMSOL提供铁损计算的后处理工具但工程上更常用的是把铁芯损耗表达成磁通密度幅值的函数。经典的Bertotti三项模型可以写成P_Fe k_h · f · B_m² k_c · f² · B_m² k_exc · f^1.5 · B_m^1.5第一项是磁滞损耗第二项是经典涡流损耗第三项是异常损耗。三个系数k_h、k_c、k_exc需要根据铁芯硅钢片的实测损耗曲线拟合实际使用时我会把厂家提供的单位质量损耗曲线数据点通常在1.0T、1.5T、1.7T几个磁密下给输入到COMSOL的曲线拟合里解出对应频率下的系数再按体积乘以铁芯密度转成体积损耗密度。需要提示一下铁芯材料在COMSOL里如果只给一个常数的相对磁导率比如5000计算得到的磁密分布和真实变压器差距不小。靠谱的做法是给一条完整的B-H曲线让铁芯在可能饱和的局部区域表现出非线性。B-H曲线的数据点需要平滑过渡突变的数据会导致磁场求解器不收敛这也是一个常见的坑。2.3 结构件杂散损耗要不要算进去油箱壁、夹件、铁芯拉板等结构件处在漏磁场中会在表面感应出涡流损耗这部分就是杂散损耗。在大型电力变压器里杂散损耗可能达到负载损耗的10%到30%忽略会导致温升低估但在中小型油浸变压器里如果只关注绕组和铁芯热点杂散损耗往往不是主导项。我的建议是第一次建模时可以把结构件电导率设为零先拿到铜损和铁芯损耗的基数再看漏磁场在油箱壁位置的磁密幅值。如果油箱壁附近的磁密超过0.05T左右就值得把油箱壁加入导电区域参与涡流计算。不过加入结构件涡流后电磁模型的网格要求明显提高油箱壁表面需要加密边界层这个决定应该在建模早期做否则后面改几何和网格都要返工。3. 从电磁结果到温度场热源损耗密度映射的工程细节3.1 把损耗表达成分区域的体积热源电磁场算完下一步是把结果搬进温度场模型。最简单也最稳妥的方法是分域统计把绕组铜损、铁芯损耗分别按体积平均得到两个区域的体积热源密度直接作为传热方程的Q项。变压器在工频下绕组电流近似均匀分布铜损不会在导线截面上出现明显的趋肤集中因此体积平均的方式在工程精度上是够用的。我经过比较后发现逐单元映射损耗密度和分域体积平均得到的最终热点温度差不超过2到3摄氏度但逐单元映射带来的网格和插值复杂度会高很多。对一台结构规整的配电变压器来说分域平均已经是性价比最高的方案。如果你要算的是强迫油循环的大型变压器或者绕组导线特别粗导致漏磁场空间分布极不均匀那才需要考虑逐单元映射。3.2 网格不一致时的数据传递更麻烦的情况是电磁场网格和温度场网格不一致。电磁场模型包含一个大范围的空气域用来模拟漏磁通向远处发散网格尺度在所有区域都不一样而温度场模型不需要那么大的空气域它更关心油箱内部流动和固体导热。两个模型用完全相同的网格既不现实也没必要。COMSOL在处理不同网格间的数据传递时可以用General Extrusion或者变量映射的方式实现。实际操作中我建议直接采用损耗密度通过后处理计算后按域赋值的思路——在电磁模型中定义好损耗密度的体积分表达式计算结束后利用Data Sets把结果映射到温度场模型的对应域。这一步如果在App里做可以通过Store Values把每个域的损耗密度保存成标量参数再传给后续研究步骤逻辑最简单也最容易排查错误。3.3 电阻率随温度变化单向耦合 vs 反馈修正铜的电阻率会随温度升高而增大温度系数约为0.0039每摄氏度。如果绕组从环境温度升到100摄氏度以上电阻会增加约30%对应的铜损也会明显增加。因此严格来说损耗和温度之间存在反馈损耗越高温度越高温度越高电阻越大损耗再升高。实际项目里分两种做法。第一种是单向分步耦合假设绕组电阻率恒定算一次电磁场得到损耗再算温度场整个过程不回读温度。这种方案在温升评估精度要求不高或者绕组温升不大时完全够用。第二种是双向迭代温度场算完后把绕组平均温度带回电磁模型更新电阻率再算损耗如此循环两到三次。实测下来对铜损占主导的中小型变压器反馈修正带来的热点温度增益通常在3到6摄氏度不算小。如果变压器负载率超过额定较多比如1.3倍负载就必须做第二轮反馈迭代否则结果会偏乐观。4. 流固耦合温度场建模油流、浮力与边界的完整设置4.1 选层流还是湍流先估算瑞利数变压器自然对流散热最核心的物理变量是浮力驱动的油流速度。油浸变压器内部高温油上浮、低温油下沉形成自然对流循环。这里第一个问题就是油流是层流还是湍流。工程上可以用瑞利数做一个快速判断Ra g · β · ΔT · L³ / (ν · α)其中g是重力加速度β是油的热膨胀系数ΔT是特征温差L是特征尺寸ν是运动黏度α是热扩散系数。对一台中等容量的配电变压器油道宽约几厘米到十几厘米取ΔT约40K算出来的瑞利数大约落在10^6到10^8之间还没有进入典型湍流区10^9以上。所以我个人在自然循环油浸变压器模型中优先使用层流接口。如果计算后发现局部流速较高比如散热器进出口区域出现了明显的扰动再切换到湍流接口会更谨慎一些。对于强迫油循环的大型变压器泵驱动的流速远高于自然对流那就要直接启用湍流模型。4.2 变压器油物性参数温度相关能否忽略变压器油的物性对结果影响很大尤其是动力黏度对温度极其敏感。室温下油的黏度可能是90摄氏度时黏度的好几倍这直接影响油流阻力改变流速和散热效率。因此在流固耦合温度场模型中应该把油的关键物性设成温度相关变量。典型25号变压器油在工程计算中常用参考值如下物性参数常用参考值密度约870至895 kg/m³随温度线性下降动力黏度40摄氏度约0.011 Pa·s100摄氏度约0.003 Pa·s热导率约0.12至0.13 W/(m·K)比热容约1.8至1.9 kJ/(kg·K)热膨胀系数约0.0008至0.0011 /K在COMSOL里可以给油的材料属性用插值表或解析表达式比如动力黏度用指数形式的温度关系拟合。如果不考虑温度相关物性温度分布会明显失真——尤其是油箱上部油温和散热器入口温度偏差可能达到十几摄氏度这在温升判断层面是不可接受的。一个常被忽视的细节是油的热导率虽然小但自然对流边界层的热阻主要集中在油侧所以油的物性曲线和壁面附近的网格质量对散热器换热量影响非常大。4.3 多物理场耦合接口与边界条件清单在模型中实际使用的耦合链路是这样布置的流体域油使用层流接口Laminar Flow启用重力密度使用温度相关表达式从而在动量方程中产生浮力项绕组、铁芯、油箱壁等固体域使用固体传热损耗密度作为体积热源加在对应区域油流区域使用流体传热能量方程中包含对流项 ρ·Cp·(u·∇T)多物理场耦合使用非等温流动Nonisothermal Flow把流体流动和流体传热自动桥接固体和流体交界面上默认满足温度和热通量连续金属壁内部只传热不流动边界条件方面绕组和铁芯表面与油流接触的那一部分不需要额外给对流换热系数因为自然对流传热是流场自己解出来的结果。需要注意的是油箱外壁外壁与空气之间是对流和辐射联合散热。环境空气自然对流系数我一般取5到8 W/(m²·K)辐射项单独加一个表面辐射条件或者等效增加换热系数。实际项目中如果箱壁涂漆辐射发射率按0.9估算在总散热量里占比约两到三成不能省掉。5. 求解顺序与网格安排让这个多物理场模型收敛且不白算5.1 电磁场和温度场不要一个瞬态算到底前面提过电磁响应是毫秒级热过程是小时级时间尺度相差太大。如果建一个多物理场瞬态模型让COMSOL同时解磁场、流场和温度场计算代价几乎不可接受。工程上更合理的做法是整个项目分成两个研究步骤第一步频率研究Frequency Domain求解电磁场计算损耗密度。第二步稳态研究Stationary基于第一步的损耗结果求解流固耦合温度场。这两个研究共用同一套几何但分别使用各自的网格和解算器。一个更精细的做法是在稳态研究里先做一次瞬态预热让油流场初始化更好但对自然对流强烈的模型瞬态预热的时间步长控制很麻烦我试过几次后觉得直接做好稳态求解器设置配合辅助扫描往往更省时间。5.2 单元阶次与网格尺度建议网格策略直接影响收敛和精度。电磁场模型里铁芯区域和绕组区域是关键需要较细的网格来分辨磁密分布尤其是在铁芯拐角、气隙附近空气域因为是磁场衰减区域可以适当稀疏但外边界要足够远通常取变压器外廓尺寸的三到五倍。流体和传热模型里油与固体壁面之间需要边界层网格第一层厚度决定壁面热通量分辨率。对于层流自然对流油侧边界层第一层网格厚度一般在0.1到0.5毫米量级具体取决于油道尺寸和流速。单元阶次方面流体速度场用二阶压力场用一阶也就是所谓P2P1组合这是不可压缩流动的标准选择可以避免出现压力振荡。温度场使用二阶单元电磁场使用二阶或三阶。如果电脑性能有限可以先把流体和传热网格用一阶单元跑出一个粗糙解再切换到二阶细化注意比较两次结果确认热点位置和数值没有明显跳跃网格敏感性就基本过了。5.3 从线性到非线性的求解器热身策略自然对流问题本质上是强非线性问题浮力项让速度和温度互相耦合。如果直接把工作负载给的电流和发热功率代入稳态求解器经常遇到迭代发散或者残差震荡不下降。我的习惯是给求解器做热身先用恒定的油物性也就是把所有油属性固定在某一个平均温度点不起用重力或给一个很小的浮力项把流场和温度场解出一个近似的线性解然后逐步恢复重力项和温度相关黏度再继续求解。COMSOL里可以利用辅助扫描Auxiliary Sweep来实现这个加载过程比如把重力加速度从0逐步增加到9.8 m/s²或把负载系数从0.2、0.5、0.8逐渐增加到1.0。每一步都以上一步结果作为初值这样收敛概率会大幅提高。这个方法别看简单我在项目里靠它解决过至少一半的收敛问题。6. 收敛调试与结果验证我在这类模型里踩过的坑6.1 自然对流不收敛最常见的三个原因与处理流固耦合温度场模型不收敛的原因我遇到最多的是这么几类第一个原因是浮力驱动流在初始阶段还太敏感。初始温度场设成室温油没有密度差浮力还没建立但发热功率已经加了很大的值流场会在第一次迭代里剧烈调整容易直接震荡发散。处理方法是前面说的辅助扫描或者把一个合理的预估温度场作为初始值比如把油的初始温度设为65摄氏度而不是室温。第二个原因是黏度随温度变化太剧烈。低温油黏度大流动阻力大如果网格没有足够的分辨率去处理边界层迭代会像油门踩到底但车轮在冰面打滑一样来回震荡。这时可以把黏度曲线稍微平滑处理或者暂时固定黏度先求出一个温度场作为后续迭代的参考然后再恢复温度相关黏度。第三个原因是网格质量和单元畸变。尤其是散热器翅片、油道拐角这类几何薄弱区域网格质量低于0.3时求解器很容易报错。处理办法是把这些区域的几何先做倒角和简化或者使用扫掠网格Swept Mesh而不是自由四面体网格。我在项目中大部分网格问题都出在散热器油道与油箱壁连接处的过渡区域手动划分一个半结构化区域后基本都能解决。6.2 热点结果应该检查哪几个量模型算完不是看一张红红蓝蓝的温度云图就结束了。变压器温升仿真应重点检查三个量绕组热点温度、顶层油温、绕组平均温升。顶层油温反映油箱上部热油聚集程度绕组热点温度反映绝缘最薄弱点的温度绕组平均温升则关系到负载能力判定。在COMSOL后处理里绕组热点温度不能只读取整个绕组域的最大值应该单独建立一个热点探针监测绕组纵向上部区域、靠近油道出口侧的温度。变压器实际运行中热点通常出现在绕组高度的大约75%到90%位置因为顶部油温高散热条件相对差。如果云图上热点出现在绕组底部那基本说明热源或边界条件有误。另外还要检查油流速分布正常自然对流下绕组表面油流速度应是朝上流动的如果模型算出大范围向下流动说明浮力方向或者重力设置反了需要立即排查。6.3 和温升试验对标时该看哪些数据仿真不能只跟自己比最终要跟厂里的温升试验数据对标。常见的温升试验测量量包括顶层油温、底层油温、绕组直流电阻换算得到的平均绕组温升以及少数情况下用光纤测温测到的绕组热点温度。我做过三台配电变压器的仿真和试验对比结论是顶层油温偏差可以控制在3到5摄氏度以内绕组平均温升偏差在5摄氏度左右热点温度因为试验数据少且测点位置敏感偏差波动更大大约在5到10摄氏度范围内。如果你的模型和试验对不上先不要急着调网格按以下顺序排查损耗总量是否与试验的负载损耗数据一致、环境温度是否和试验条件一致、散热器表面积和热流边界是否建模正确、辐射散热有没有忽略。损耗总量最容易出问题因为铁芯损耗用的Bertotti系数如果不贴合实际硅钢片损耗曲线误差可能直接放大到温度场上。最后说点个人体会。这种变压器多物理场仿真真正花时间的地方不在物理接口选型而在损耗数据的来源和网格的精细化处理上。损耗算不准温度场再精细也只是在精确地算一个错误的结果。另一个建议是仿真之前把油流路径想清楚比如油从哪里被加热上升、在哪里冷却下降心里有了这张物理图你才知道网格该加密哪里、边界该放松哪里调试起来才不至于晕头转向。动手建模时先把几何简化到一个能跑通的程度再逐步细化比一开始就追求全尺寸全细节要高效得多。