做多物理场耦合仿真这些年,我发现自己被问得最多的一个问题不是“怎么设置求解器”,也不是“网格怎么划分”,而是“电磁场理论到底要学到什么程度才能不做错模型”。这问题很实在,因为多物理场耦合仿真里的电磁场模块,跟纯电磁场设计的思路完全不同——它不是让你去设计一个天线或者一台电机,而是要把电磁场产生热量、力、或者改变材料属性这些“副作用”算准。这篇东西就是主题006,专门把电磁场理论基础里跟耦合仿真最相关的部分捋一遍。我不打算复述一遍教科书,而是按仿真建模的实际顺序来聊:先搞清楚要关注哪些物理量,再理顺麦克斯韦方程组在数值求解里是怎么落地的,然后看材料属性为什么是耦合仿真的灵魂,最后说说边界条件和网格设计里那些绕不开的坑。无论你是刚接触COMSOL、ANSYS Maxwell还是OpenFOAM,这套底层逻辑都是通用的。
1. 为什么要专门花功夫啃电磁场理论:耦合仿真的特殊性
你手上如果只有“纯电磁”的问题——比如设计一个滤波器、算一条传输线的S参数——那很多理论细节确实可以先放一放,靠软件默认设置和导师的经验公式也能交出不错的结果。但一旦进入多物理场耦合,情况就变了。电磁场不再是最终目标,而是变成热源、力源或者运动驱动的“上游物理场”,它的误差会被后续物理场逐级放大,而且放大程度常常超出你的直觉。
我举个最典型的例子:感应加热。这东西看着简单——线圈通交流电,工件里感应出涡流,涡流产生焦耳热。但如果电磁场部分计算有偏差,涡流分布的集肤深度错了,那么热量就直接集中在了错误的位置。后续你再怎么加密热场网格、怎么调整对流换热系数,结果都是错的。原因在于耦合仿真里的误差不是线性传递的,电磁场里集肤深度偏差10%,热源的体积分布可能就偏差40%到50%,因为涡流密度是按指数规律衰减的。
再比如电磁成形,电磁力直接作用在金属板料上驱动塑性变形,这里电磁力的大小和空间分布不仅取决于电磁场本身,还取决于变形过程中板料形状的变化——这是个双向耦合。如果电磁场理论基本功不扎实,你可能连“什么时候该用单向耦合、什么时候必须用双向耦合”这个基本判断都做不出来。
所以在多物理场耦合仿真这个语境下,学电磁场理论的目标很明确:不是为了手推公式,而是为了做对三件事。第一,正确地选择控制方程和求解域。第二,正确地设定材料属性和边界条件。第三,正确地把电磁场结果映射到其他物理场的源项上去。这三件事只要有一件做错,整个耦合模型就废了。下面我就围绕这三个目标,把核心理论逐项拆开。
2. 先厘清最核心的物理量:场、通量、源与位函数
很多人一上来就背麦克斯韦方程组,但我觉得更务实的顺序是先弄清“我们到底在解什么”。仿真软件里的变量、后处理里的结果、以及你从文献里看到的经验公式,说到底都是围绕一组物理量在转。这几个物理量分不清,后处理时拿着电场强度当电势梯度算,拿着磁通密度当磁场强度做力计算,错得悄无声息。
2.1 场量与通量量:一对容易混淆的物理量
电磁场理论里最基础的一层是四个矢量:电场强度E、电位移场D、磁场强度H和磁通密度B。很多新手最大的困惑就是搞不清D和E、B和H的关系,以及什么时候该用哪个。
我用一个生活化的类比来帮大家记忆:如果说E(电场强度)是“推动电荷的力气”,那D(电位移场)就是“这种推动力的来源有多少是跟电荷直接挂钩的”,它剔除了介质极化带来的贡献;同样,H(磁场强度)可以理解为“磁场的源泉有多强”,而B(磁通密度)则是“这个磁场真正发挥作用的密度有多大”。比如同样是10A的电流,在空气里和在铁芯里产生的H是差不多的,但B在铁芯里会大很多——H是原因,B是效果。
在仿真软件里,这个差别直接体现在材料定义上。勾选了相对介电常数εr、相对磁导率μr,本质上就是指定D和E之间、B和H之间的关系式。很多人在COMSOL里做静电仿真时发现D=εE勾没勾对结果差得很远,或者在Maxwell里把B-H曲线和H-B曲线输入反了,导致铁芯饱和特性完全对不上。这些问题的根源不是操作失误,而是对“场量”和“通量量”这对概念没有建立直觉。
从数值求解的角度说,有限元法解磁场时主要解的是位函数(下详),算出位函数之后再去导出B和H;而解静电场时解的是电位V,然后导出E和D。后处理里你看云图,看到“Electric field (E)”和“Electric displacement field (D)”这两项,必须清楚它们哪个是边界条件直接驱动的、哪个是受材料属性影响的。E的切向分量在介质边界上是连续的,D的法向分量在无自由电荷的边界上是连续的,这两条接口条件在后面第五部分还要展开。
2.2 电位与磁位:仿真软件背后的“隐性主角”
接下来是位函数。你在界面里看到的设置往往是“给某条边界施加多少伏特的电位”或者“给某个域设置多少安培的电流”,但有限元软件内部真正求解的,通常不是矢量场E和H本身,而是它们的“位”。静电场求解电势V,静磁场求解磁标量位φm,涡流场求解磁矢量位A,高频场求解的是电场或磁场本身(因为此时位函数和规范自由度会让求解变得复杂)。
理解这一点的作用在哪里?在于理解边界条件的本质。举个例子,你在电磁场仿真里给线圈加“电流激励”,实际上是通过安培定律把电流和H的旋度连起来;而当你设置“电压激励”时,软件会在域内求解电势方程。如果你设错了激励类型,等效于改变了方程形式,结果自然出错。比如在Maxwell的涡流求解器里,同一个线圈模型,用电流激励算出的电感值完全对,但用电压激励就算不对电感的交流电阻——因为电压激励下软件要考虑线圈内部的匝间分布电容、邻近效应,对网格和频段的要求天差地别。
磁矢量位A在后处理里也经常有大用处。计算感应涡流时,电场强度E可以通过E=-∂A/∂t得到(忽略标量电位梯度时),这比直接用E = J/σ要隐蔽得多,因为你施加的电流源和感应出的涡流叠加在一起,直接看总电流密度是看不出涡流贡献的。只有把源电流Jsource分出来,然后用Jinduced = Jtotal - Jsource才能单独评估涡流。这个操作在感应加热和电磁搅拌仿真里非常常用。
2.3 源项的角色:电荷与电流是怎么进到方程里的
最后是源项。电场方程的源项是电荷密度ρ,磁场方程的源项是电流密度J。在耦合仿真里,源项往往是“上游物理场”传给“电磁场”的桥梁。比如在等离子体仿真里,带电粒子的空间分布就是静电场的源项;在锂离子电池模型中,电解液里的离子浓度梯度会产生空间电荷,从而建立电位分布。
这里有一个常见的误区:很多人以为电流只能在导体里存在,但解决电大尺寸问题时还有位移电流的概念。位移电流是∂D/∂t这一项,它代表随时间变化的电位移场也能产生磁场。这就是麦克斯韦方程组里最核心的修正——变化的电场和变化的磁场互相激发。在低频涡流仿真中,位移电流通常可以忽略;但到了射频、微波频段,位移电流甚至主导了电磁波的传播。判断标准很简单:如果模型尺寸与工作频率对应的波长相当,就不能忽略位移电流,意味着你必须用全波求解器而不是准静态求解器。
3. 麦克斯韦方程组:四大定律在数值仿真里的真实角色
麦克斯韦方程组是所有电磁场仿真的基石,四组方程各有分工。但在耦合仿真中,它们的地位完全不一样。我们必须知道在给定的物理场景下,哪些项必须保留,哪些项可以安全地删掉,这就是“多物理场耦合仿真”区别于“通用电磁教材”的地方:教材会给你完整的四组方程,但数值建模时你必须做取舍,而这种取舍恰恰决定了模型能不能收敛、算得准不准、花多少时间。
3.1 高斯定律:静电场的物权归属
高斯定律有两种形式:电场的高斯定律(▽·D = ρ)和磁场的高斯定律(▽·B = 0)。两者在仿真中的角色截然不同。
电场高斯定律是静电场求解器的控制方程。它告诉我们电位移矢量的散度等于自由电荷密度。在COMSOL的“静电”物理场接口里,这个方程就是核心。它决定了你施加的“电荷”边界条件是如何在空间建立电位的。在多物理场耦合场景里,这个方程最常见的应用是压电效应模型——压电材料中的极化电荷密度与机械应变成正比,所以你把结构力学的应变换算成等效电荷源,再通过高斯定律去求电场分布。
磁场高斯定律则是个约束条件,它本身不求解任何场,但要求B的散度处处为零。在数值方法里,这就是为什么我们要引入磁矢量位A的原因——任意矢量场的旋度的散度恒为零,所以令B = ▽×A就能自动满足这个方程。很多用FDTD或者有限体积法的新手常常疑惑“为什么我的磁场结果不对”,大概率是因为数值离散过程中B的散度不为零,产生了很多虚假的磁单极子。解决方式要么是保证初始条件和边界条件满足B_n的连续性,要么用带有散度修正的算法。
3.2 法拉第定律:感应现象和多物理场耦合的源头
法拉第定律的微分形式是▽×E = -∂B/∂t。这可能是整个电磁场理论里跟多物理场耦合仿真关系最密切的一个方程,因为几乎所有电感、变压器、电机、感应加热问题都要用到它。
它的物理意义是:变化的磁通密度会生成一个感应电场,这个电场的旋度等于磁通密度对时间的负偏导。在涡流场仿真中,这个方程是核心,因为感应电场驱动了导体中的感应电流,也就是涡流。在电机仿真中,转子旋转导致磁路变化、绕组中感应出反电动势,这个反电动势的法拉第贡献直接决定电机的力矩和效率。
从数值实现角度,法拉第定律在频域里特别简单:把∂/∂t换成jω即可。在时域里它引入了一阶时间导数,意味着求解过程中时间步长必须满足CFL条件(对显式算法)或者使用A-稳定算法(对隐式算法)来控制误差和稳定性。我见过不少人把时域涡流模型的时间步长直接从其他物理场“借用”过来,结果磁场结果震荡到飞起。原因就是涡流场按集肤深度划分网格后,临近单元间的传播时间尺度远小于热场的时间尺度。
3.3 安培-麦克斯韦定律:磁场的来源和位移电流的取舍
安培-麦克斯韦定律的微分形式是▽×H = J + ∂D/∂t。磁场的源泉是传导电流和位移电流。在静磁和涡流准静态问题里,∂D/∂t这一项通常被忽略,方程简化为▽×H = J,这就是磁矢势方程的框架。在这种情况下,求解的是无散度条件的B和源电流J的关系,可以使用磁矢量位。
当频率高到一定程度,位移电流不可忽略,磁场和电场的耦合就必须同时考虑,此时全波求解器才登场。这个分界线在仿真里怎么判断?我一般用特征尺寸与波长的比值来判断:当模型最大尺寸小于波长的1/10时,准静态近似通常够用;在1/10到1波长之间,看具体问题,可能有误差;大于这个范围就必须上全波。举个例子,10kHz的感应加热,波长是30公里,你的工件哪怕10米,也远低于1/10波长,所以用准静态磁矢量位求解器完全没问题。但5.8GHz的微波加热,波长为5.2厘米,若你的腔体尺寸在30到40厘米,就必须用全波电磁求解器。
3.4 电流连续性方程:被忽视却极其重要的约束
最后一个容易忽略的是电流连续性方程▽·J = -∂ρ/∂t。在纯电磁场问题里它似乎没什么存在感,但在多物理场耦合仿真里,它扮演着“守恒约束”的角色。传导电流、对流电流、位移电流之间的平衡,决定了电荷积累情况,进而影响电场分布和焦耳热。
比如电热耦合中,因为电流流动必然产生焦耳热,焦耳热Q = J·E,这里的J和E必须严格满足电流连续性,否则计算出的功率就会虚高或虚低。如果你在热场里加了一个莫名其妙的体积热源,跟电磁场算出的焦耳热不一致,整个模型的物理一致性就崩掉了。这个问题在模块化耦合(两个软件分别算电磁和热,然后手动交换数据)中尤其常见。最好的做法是在同一框架内耦合求解,或者在交换数据时必须严格检查能量守恒。
4. 材料属性:耦合仿真中真正的“耦合枢纽”
很多时候,多物理场耦合仿真里最难的不是方程怎么解,而是材料属性怎么给。因为电磁场方程本身是线性的,但一旦材料属性是电场的函数、磁场的函数、温度的函数、应变的函数,整个问题就变成强非线性,甚至出现多重解。我做了这么多项目,可以负责任地说:材料属性是耦合仿真里最高的风险点,没有之一。
4.1 介电常数、电导率和磁导率的角色与频率依赖
三种最基本的电磁材料属性各有分工:介电常数ε决定电位移场对电场的响应,电导率σ决定传导电流对电场的响应,磁导率μ决定磁通密度对磁场的响应。这三者都是频率的函数,而且在射频和微波频段,这种频率依赖极其显著。
在低频电力设备里,介电常数几乎不影响结果,大家直接给相对介电常数=1就行;但在微波加热、射频等离子体、电磁超表面等场景下,介电常数的实部和虚部都得给准。虚部对应介电损耗,也就是极化过程的能量损耗,直接决定了微波加热的功率密度。我见过有人在微波加热仿真里随便填了一个室温下的介电常数,结果算出的反射系数S11和实验值差了2个数量级。原因就是忽略了温度对介电常数虚部的强烈影响——比如水在2.45GHz下,从20℃到80℃,介电常数虚部可以变化2到3倍。
磁导率的问题主要体现在铁磁性材料上。最常见的坑是非线性B-H曲线。B-H曲线不仅非线性,还有磁滞回线。准静态仿真里如果工作点没进入饱和区,线性近似还能凑合;但变压器、电机、电抗器这类设备经常工作在高磁通密度下,不把B-H曲线的饱和段输进去,算出来的电感值、铁损和力都会偏差很大。
电导率的温度依赖性在电热耦合里绝对不能忽视。金属的电导率随温度升高而下降,也就是说温度越高,电阻越大,同样的电流下焦耳热越多——这是一个正反馈机制。如果在做电热耦合时不加载温度相关的电导率,就会出现“算到后面温度稳不住”的假象。实际上,很多熔炼、加热设备的稳定工作温度点就是由电导率的负温度系数和散热条件共同决定的。
4.2 材料非线性在多物理场模型中的灾难性表现
材料非线性在单独电磁仿真中已经被广泛认识了,但它在多物理场耦合仿真中的表现要“恐怖”得多。因为在耦合仿真里,材料属性不仅随该物理场自身变化,还随其他物理场变化,这意味着不仅仅求解矩阵是非线性的,而且这个非线性还跨物理场传递。
我印象最深的一个项目是感应加热大型锻件的仿真。前期用的恒定电导率模型,算出来的表面温度和实际红外测温相差120℃以上。后来把电导率的温度依赖关系(从室温20℃到居里点附近的770℃)完整地输进去,表面温度误差迅速压到15℃以内。而一旦温度越过居里点,材料从铁磁性变成顺磁性,磁导率从几百骤降到1,这个“磁-热相变”不输进去,模型在居里点附近会有一个虚假的高温平台,纯粹是公式和参数不一致造成的数值假象。
处理这类问题的策略,我个人的经验是分步走。第一步,先用简单的线性材料模型跑通整个耦合流程,关注收敛性和量级;第二步,逐项加入材料非线性,先加最敏感的(往往是电导率或磁导率),每加一项重新校准一次;第三步,做全非线性的精确仿真。这么做的好处是每个步骤的误差源都清清楚楚,出了问题也好定位。
4.3 各向异性材料的正确输入方式
比起非线性,各向异性材料属性更容易被忽略,但后果同样严重。变压器铁芯的叠片结构导致磁导率在叠片平面内高、垂直于叠片方向低;碳纤维复合材料在射频下的电导率也是高度方向相关的。这类材料如果统一输入一个各向同性值,仿真的电流路径和磁场分布会严重失真。
在输入这类材料属性时,关键是坐标系要对准。很多仿真软件里的各向异性材料属性基于全局坐标或者材料坐标,如果你建模时方位角度没设置对,各向异性铁芯的电感值可能就差20%以上,而这个问题从云图表面上很难看出来,只能通过实验室阻抗测试来校准。我现在的习惯是:凡是涉及各向异性材料的仿真,第一时间做一个2D等效模型做快速验证,确认坐标和主方向正确后再扩展成3D全模型。
5. 边界条件与接口条件:决定模型成败的细节
在电磁场仿真中,边界条件不是一个“锦上添花”的选项,而是控制方程求解的有机组成部分。同一个物理模型,边界条件设得不一样,出来的结果可能差之千里。在多物理场耦合仿真里,边界条件的设置还要额外考虑跨物理场的接口,比如电磁场与热场共享同一个边界,如何保证能量流和热量流的一致性。
5.1 常见边界条件的数学本质和适用场景
电磁场仿真边界条件主要分三类:狄利克雷型(第一类)、诺伊曼型(第二类)和阻抗/辐射型。静电场里的“接地”边界是电位为零,即狄利克雷型;平移对称面上“电绝缘”条件,默认为电位移矢量的法向分量为零,即诺伊曼型。磁场里同样有“磁绝缘”(B_n=0)和“平行磁通”(H_t=0)的区别。
不少新手把“磁绝缘”和“平行磁通”搞混,导致结果完全错误。磁绝缘边界条件是强制磁通密度不穿过边界,即法向分量为0,这相当于把铁磁材料外边界设为没有漏磁;而平行磁通则是让磁通沿边界切线走,法向分量的导数条件不同,往往是轴对称或平移对称面的设置方法。在变压器铁芯分析里,如果你把外边界设成平行磁通而不是磁绝缘,算出来的电感会小很多,因为这个边界条件强行改变了磁路。
吸收边界条件/完美匹配层(PML)是高频仿真里的标配。它的核心思想是让发射到边界的波没有反射。拿微波加热腔体来说,腔外有辐射、有反射,这个效应不是直接设一个“开放边界”就能描述的,必须用PML或者散射边界条件。不少人图省事直接把计算域加大来模拟开放空间,但这不仅浪费网格和算力,还可能因为边界截断位置不合适引入寄生反射。正确做法是让计算域边界离源足够远,并且在边界设置吸收条件。
5.2 跨介质边界时的切向与法向连接条件
不同介质的交界面上,电磁场必须满足特定的连接条件。电场E的切向分量连续,电位移场D的法向分量在有自由面电荷时跳变;磁场H的切向分量在有面电流时跳变,磁通密度B的法向分量恒连续。这些条件在解析推导里很基础,但在数值仿真里,如果网格和求解器没有自动处理,就很容易出错。
在多物理场耦合仿真中,最典型的是“空气-导体”界面。比如在感应加热分析里,线圈和工件的界面是空气和金属的界面。这里的网格密度突变很大,因为集肤深度内必须至少划分2到3层网格,而空气侧网格可以很粗。两个不同密度的网格在界面上交接,如果连接条件处理不当,涡流密度会在边界上震荡。不同软件的网格装配能力不同,但绝大多数情况下,你需要在界面处做边界层网格加密。这也是为什么很多仿真老手在划分网格时,第一步不是看整体尺寸,而是看集肤深度或者波长的约束。
顺便说一个很多人忽略的细节:温度场和电磁场在边界上的坐标必须完全重合,否则耦合界面的插值误差直接导致表面热流密度剧烈振荡。分网格时让两个物理场在交界面共享相同的表面网格,同时内部的体积网格可以独立、适当粗化。这一招我几乎在每个耦合模型里都用。
5.3 周期边界与对称边界的适用条件
利用周期和对称性可以大幅缩减计算量,但前提是物理模型确实具备对应的对称性。在半桥逆变器高周感应加热线圈的分析中,线圈沿极轴有多次重复的几何和激励,往往可以只建一个扇区,配合周期边界条件。但如果线圈的三相电流相位不同,你必须有意识地用反周期边界或者带相位差的周期边界,否则模型就是错的。
我见过最离谱的案例,是有人把三相交流母排的电磁场模型直接做了“对称面”,结果对称面两侧电流方向相反,磁通被强行抵消,测出的电抗直接降为原来的十分之一。所以说,对称性截断前一定要检查激励的对称性:电场或电流分布的对称性不等于磁场的对称性,尤其在涡流问题里,涡流的相位分布会破坏你原本想当然的对称假设。
5.4 热边界条件与电磁损耗的交互
电磁场与热场耦合时,电磁损耗计算结果通常是热场的热源项,但这个热源的分布不是均匀的,而是随空间指数变化的(集肤层里最高)。热边界条件选择的对流换热系数、辐射率,都会影响温度场分布,而温度场反过来会通过材料属性影响电磁场。
所以当你做稳态电热耦合时,要同时考虑电磁损耗、热传导、对流和辐射。很多初学者把对流换热系数设为固定值,也不考虑辐射,结果温度结果一直超差。在高温感应加热中,辐射散热的贡献非常大(按四次方关系增长),不能省。而且一定要记住辐射率是温度和表面状态的函数——氧化了的金属表面发射率可能异常高。
在我的实践里,最稳妥的做法是:先做电磁场分析得到损耗分布,作为热源加载到热场;热场算完后更新温度相关材料属性,再回代到电磁场,这样反复迭代直到温度和电磁损耗都收敛。这叫“双向耦合”,也叫“热-电-磁单向循环耦合”。实际处理中很少做全双向实时耦合(因为代价太高),多数情况用这种源项迭代就足够了。
6. 耦合仿真中的求解策略与收敛性控制
把电磁场理论和多物理场耦合结合之后,你早晚会撞上一个现实问题:模型不收敛。这几乎是每个新手必踩的坑。实际上,不收敛往往不是求解器设置的问题,而是物理建模和数值策略的问题。理解了电磁场方程组和材料非线性,收敛性基本上就是可控的了。
6.1 全耦合与分离式求解:选错代价大
多物理场耦合仿真有两种典型的求解策略:全耦合(fully coupled)和分离式(segregated)。全耦合把所有物理场的变量放在一个大型方程系统里同时求解,对强反馈问题最鲁棒;分离式则分别求解每个物理场,然后在它们之间交换数据,适合弱耦合问题。
感应加热中涡流的焦耳热会强烈改变温度,而温度又强烈改变电导率,这种强反馈如果使用分离式求解器,可能产生数值振荡:第一次迭代温度冲过头,下一轮电导率骤降导致加热功率骤降,然后又回摆。这种情况下我更倾向于全耦合求解,即便它的单次迭代成本高,但总迭代次数通常少很多,整体算下来更省。而像“先算电磁场得到平均功率,再算热场得到稳态温度”这种弱耦合场景(比如微波加热里介质损耗变化不大、温度反馈不强),分离式再合适不过。
判断强弱的办法很简单:你先估算一下温度变化10%会导致源项变化多少。如果超过20%,就该考虑全耦合了。
6.2 非线性迭代的启动策略:辅助扫参和延拓
电磁场材料非线性和温度耦合常常导致牛顿迭代法“走不动”——起始点不在收敛半径内。这时候有几种非常实用的解决策略。
第一种是参数延拓:先把激励电流从很小的值开始算,让磁路还处于线性区;然后逐步增大电流,每一步以上一步的解为初值,这样可以沿B-H曲线稳定地向饱和区推进。这个方法在电机和变压器铁芯损耗仿真中几乎是标准操作。第二种是续贯加载法:把电导率随温度变化的关系分解成多个载荷步,每一步温度不超过上一步的20%,保证牛顿法始终在收敛半径内。
第三种是伪瞬态法:给稳态问题添加一个人工时间导数项,让它先按瞬态跑一会儿,然后再逐步退化为稳态方程。这个方法在强非线性电磁-热耦合问题中真的屡试不爽。它的原理是:牛顿法就像让你一步跳到山顶,而伪瞬态法是给你铺了一条盘山公路,每一步走得不多,但始终能爬上去。
6.3 网格、时间步长与集肤深度的“三重约束”
电磁场仿真的网格有一条硬性约束:集肤深度δ内至少要划分2到3层网格,否则涡流的指数衰减特征就捕捉不到。而有集肤效应的导体内部,其涡流特征尺度小于导体尺寸很多,网格加密只集中在表面薄层,体积网格仍然可以很疏。在频域涡流求解器里,这个约束尤其严格。如果网格画得太粗,感应加热里计算的表面温度会比真实值偏低——因为表面热源被数值抹平了,热量“渗”到了不该去的深处。
时域求解里还要额外受CFL条件约束:电磁波穿过一个网格单元所需要的时间要小于时间步长,否则数值解也会不收敛。这个时间分辨率跟热场的时间尺度极不匹配——电磁场的时间步长往往是皮秒到纳秒级别,而热扩散的时间常数是毫秒到秒级别。所以时域-热场耦合直接做在一个求解器里,计算代价巨大。实际工程中大多采用“频域电磁求解器+时域热场求解器”的组合方式:先算出频域的损耗分布,再把它当稳态源项去驱动长时间的热场演化。这个思路,各位做多物理场耦合的时候一定要牢牢记住。
6.4 实测校准:把模型结果拉回现实的必经之路
再好的理论模型,最后都要经得起实验的检验。多物理场耦合仿真更是如此,因为误差源太多——材料属性、边界条件、网格离散、耦合算法,每一层都在引入不确定度。
我做电热耦合仿真的习惯是预留几个校准点。比如感应加热里,先在室温下空载测线圈阻抗,用来校准电感值和线圈电阻;再在低功率下加热一个已知比热容的试样,测量温升曲线,用来校准总功率和热损失系数;最后才在全功率下进行验收实验。这样做的好处是,一旦出现偏差,你能很快定位是电磁部分还是热部分的问题,而不是在两个子系统都未知的情况下瞎猜。
如果你做的是高频微波仿真,还应该把一个简单的谐振结构(比如矩形谐振腔)的谐振频率和品质因数的仿真值,与理论解析解对比。这类“基准模型”的误差如果超过5%,说明你的边界条件或材料参数输入有误,先修好基础再上全模型。
7. 从理论到落地:一个感应加热基底的双向耦合示例
前面理论讲了很多,我怕大家觉得空,所以用一个具体的例题把整个流程串一遍。假设我们要对一个直径50mm、高100mm的45号钢圆柱体进行20kHz感应加热仿真,线圈采用6匝铜管水冷线圈,目标是把工件表面在60秒内加热到800℃。这几乎是感应加热仿真里最经典的入门案例,很适合用来验证前面各章节的理论点。
7.1 控制方程组的选定:哪些方程需要保留
这个模型的频域电磁场部分用磁矢量位A来描述,控制方程是涡流场的复频域形式,核心是▽×(1/μ▽×A) - ω²εA + jωσA = Jsource。在20kHz下,位移电流项ω²εA小到完全可以忽略,所以方程退化为▽×(1/μ▽×A) + jωσA = Jsource。
材料属性方面:空气的相对磁导率1;铜线圈的相对磁导率为1,电导率5.998e7 S/m;45号钢的相对磁导率取B-H曲线非线性数据,电导率随温度从20℃到800℃递减。为了模拟磁-热相变,在居里点770℃附近,把相对磁导率从非线性的几百骤降到1。这些数据和B-H曲线我建议直接用材料库实测值,别拿别家数据硬凑。
热场部分采用瞬态热传导方程:ρCp∂T/∂t = ▽·(k▽T) + Q_em。其中Q_em由涡流损耗决定——在这个频段,介质损耗几乎为零,所以Q_em = (1/2)σ|E|²或者等价的(1/2)J·J/σ。表面和线圈施加对流传热边界和辐射边界,辐射率取0.8。求解器采用全耦合方式,在频域中计算电磁部分,在一次求解后计算热源,再在瞬态中推进温度场,温度每更新一次就更新电磁材料属性、重新解一次频域电磁方程,直至到达60秒。
7.2 边界条件设置与网格设计的“落地细节”
模型外边界设置为磁绝缘(A_t = 0),这个边界离线圈足够远(至少2到3倍工件直径),以减小截断误差。线圈电流激励采用20kHz、有效值800A的交流电流,并加设电压约束来自动平衡线圈两端的感应电动势,这样阻抗值才能算准。线圈用空心铜管,内部通水冷却——但是如果你只想看工件的加热过程,铜管的内冷却水道可以简化为等效对流换热边界,不用真建模。
网格划分遵循集肤深度约束。20kHz在800℃的45号钢里,集肤深度大约是0.7mm。那么在工件表面至少需要2到3层、厚度0.2到0.3mm的边界层网格。线圈铜管表面因为电流集中在表面(它的集肤深度在20kHz下约0.47mm),同样需要边界层网格。空气域可以用自由三角形/四面体网格,光源附近密、远处疏,但最外层网格不要拉得太大,否则插值误差和数值色散会上升。
7.3 结果诊断:怎么判断算出来的东西可不可信
模型跑完之后,怎么判断结果是否合理?第一,检查总输入有功功率是否跟线圈电流和电压的实部乘积一致。如果两者相差超过5%,说明网格或激励有问题。第二,检查工件表面的温度分布是否对称。如果几何和线圈轴向对称,但温度场不对称,多半是网格或边界条件打破了对称性。第三,检查工件的温度升高曲线:刚开始表面温度快速上升,然后热传导把热量带向内部,在居里点附近由于磁导率突降、涡流深度变大,表面温升速率应当出现一个转折。如果曲线在这个转折点出现剧烈的跳变或震荡,基本可以断定是材料属性插值或B-H曲线输入出了问题。
我在做这类问题时的最后一步,是拿热电偶实测工件表面几个点的温度,跟仿真结果比对。如果偏差小于20℃,在这个工况下基本可以接受;如果偏差在50℃以上,回头仔细查材料属性和边界条件——多数问题出在辐射率假设和接触热阻上。
8. 写在最后:电磁场理论在多物理场耦合里的“心法”
理论说完,案例也跑完了,最后分享几句实在话。多物理场耦合仿真中的电磁场,跟你大学课本里的电磁场最大的区别,在于它永远不是孤立的。你算的每一个电场、每一股涡流,最终都要变成热源、力源或者能量传输效率,影响到另一个物理场的结果。所以核心心法其实就三条:第一,永远搞清楚你在用哪个控制方程、忽略了哪些项,以及为什么可以忽略;第二,永远把材料属性的准确性放在模型复杂性的前面,一个真实可靠的B-H曲线比加十个边界条件都管用;第三,永远用最朴素的物理量守恒来检验计算结果,功率平衡、能量守恒、对称性,这些不需要高深数学就能看出一大堆隐患。
我的经验是,把电磁场理论基础打扎实之后,最大的回报不是“能看懂文献里的公式”,而是能在建模之前就预判出哪些环节容易出问题——边界条件该用哪个、材料非线性要不要加、网格该在哪儿加密、用全耦合还是分离式求解器。这些判断做对了,仿真一次通过的概率会高出非常多;做不对,就只能反复试错,消耗的是你一个又一个晚上。希望这篇主题006能把你的起点垫高一点,让你少走这些弯路。