ANSYS Maxwell有个奇怪的现象:教程里到处都是径向磁通电机的案例,但真正被风电、电动航空、机器人关节频繁翻牌的轴向磁通电机(AFPM),几乎很难找到一份能直接照抄的3D建模流程。我自己第一次在Maxwell里搭轴向磁通模型时,光是转子的旋转域(band)该包多大、定子轭该怎么切分就卡了两天。这篇文章我想把从零搭建一个“能算、能跑、能出转矩波形”的3D轴向磁通电机模型的完整过程写清楚,包括哪些细节可以偷懒、哪些步骤偷懒必定返工,以及如何避免三维模型算到一半内存爆掉。
这篇文章适合两类人:一类是刚接触Maxwell、想用手头软件较快获得一个可复用的轴向磁通电机模型的学生或工程师;另一类是从2D径向电机转到3D轴向构型、但总被报错和收敛问题拦住的仿真老手。你会看到我踩过的所有坑,也会看到我最终沉淀下来的建模顺序。
1. 为什么在Maxwell里做3D轴向磁通电机,而不是偷懒用2D
先聊一个绕不开的问题:轴向磁通电机能不能用2D近似?网上确实有人用直线电机模型来等效,或者把轴向磁通电机切开后按径向磁通电机的思路处理,但结果往往只能看个大概趋势,真正判断齿槽转矩、各次谐波含量、损耗分布这些关键指标时,2D模型几乎会给出一份误导性回答。原因在于轴向磁通电机的磁路本质上就是三维的。
轴向磁通电机(Axial Flux Permanent Magnet Machine)的磁场走向是沿轴向穿过气隙,而定子齿和轭部的磁通路径却在径向和周向穿插。你把它压扁成2D平面时,磁通在轭部的分布、绕组端部长度对电阻和电感的影响、永磁体端部漏磁——这些全都会被生硬地改造掉。更实际的一个问题是:轴向磁通电机的电磁转矩正比于半径的三次方(T ∝ r³),这意味着外径处的一小块区域对转矩贡献巨大,2D模型却把这种半径效应平均化了,导致转矩估算偏差大得离谱。
而Maxwell 3D瞬态求解器做这类模型时,真正处理的是磁场储能和电流励磁在三维空间内的相互作用,理论上不存在“压扁”问题。代价则是计算量成倍上升,所以整个建模过程的核心思想其实是:在保证磁场路径正确的前提下,做一个“足够少但足够准”的模型出来。这正是本文标题里“即用型”三个字的含义——不是追求几何上的百分之百还原,而是追求从启动到出结果尽量短、结果又足够可信的平衡。
1.1 轴向磁通电机的拓扑选择决定了后续所有操作
在动手建模之前,你必须先确定自己面对的是哪一种轴向磁通电机。常见的有单定子单转子、双转子单定子(TORUS)、双定子单转子、以及多盘组合结构。其中,单定子单转子结构最简单、最适合作为Maxwell学习建模的入门对象,但它的轴向磁拉力问题在实际工程中很突出。双转子单定子结构在力矩密度上有明显优势,也是工业界用得最多的构型之一,建模时可以利用上下对称性减少一半模型规模。
不同拓扑在Maxwell 3D中的处理重点完全不同。单定子单转子只需要一个band域包住外转子,而双转子单定子结构则要把两个转子都放进同一个band里,因为它们同步旋转。双定子单转子反而要把两个定子都设置为静止域,只让中间转子作旋转运动。这些差异如果一开始不规划好,后面设置运动边界时会反复报错。
1.2 仿真目标决定了你需要做静态、瞬态还是参数化扫描
建模型不是目的,算出来什么才是目的。在打开Maxwell之前,建议先写下你想要的输出:如果你只需要空载反电动势波形,那么瞬态场的空载跑就够了,不需要加激励;如果你要额定转矩、齿槽转矩和负载波形,那就必须用瞬态场并且加激励;如果你关心不同电流角下的最大转矩电流比(MTPA)曲线,那就要在瞬态场基础上叠加参数化扫描。
这里有个实战经验:轴向磁通电机在Maxwell 3D中的单次瞬态求解时间通常比同体积径向电机长不少,因为模型空间更大、剖分数量更多。所以如果只想看趋势,先跑一两个电角度周期判断波形形状,确认无误后再跑完整周期。我见过太多人一上来就设置10个机械周期,结果跑了一晚上还没到终点,其实电磁暂态稳定之后,1到2个机械周期足够提取稳定波形。
基于以上考虑,本篇文章的建模演示采用双转子单定子(TORUS)构型,额定转速3000 rpm,永磁体采用表贴式弧形磁钢,定子采用集中分数槽绕组。这个拓扑在Maxwell 3D中建模有代表性,而且在设置边界条件和剖分策略时,踩坑概率最高,讲起来最有参考价值。
2. 画图之前,先把坐标系、单位和几何尺寸理清楚
很多人在Maxwell里建模翻车,不是不会用画图工具,而是单位混乱、坐标原点随意放置、几何尺寸带着小数且没有对齐轴心。Maxwell的几何引擎是经典型的内置建模器,虽然能用参数驱动,但容错能力远不如专业CAD软件。你给它一个不带小数、轴心精确对齐到原点的模型,后面生成网格和求解都会顺利得多。
开始前的准备动作如下:
- 设定模型单位:Modeler -> Units,全部统一为mm。
- 开启参数化模式:Maxwell 2D/3D -> Design Properties 里预先定义转子外径R_ro、转子内径R_ri、气隙g、定子内外径、磁钢厚度h_m等关键参数。这样后面修改尺寸时只需改参数表,不需要重新画图。
- 确定旋转轴:轴向磁通电机的旋转轴是全局Z轴,模型应在YZ平面或XZ平面内构建,然后沿某个角度旋转/周期复制。这个设定影响后面band的定义和转轴方向,务必在建模前想清楚。
2.1 双转子单定子模型的分区规划
TORUS型结构从上到下依次是:上转子轭(铁磁材料)、上永磁体阵列、上气隙、定子铁芯(含齿槽和绕组)、下气隙、下永磁体阵列、下转子轭。整个结构关于定子中面对称。
Maxwell建模时,我的习惯是“外圈优先”:先画最大的外边界(定子外径),再往内部切分。这样能避免零件之间因为坐标或者参数差一点点而出现干涉重叠,也方便后面用subtract操作挖出齿槽。
具体尺寸我建议这样设(单位mm):转子外径120,转子内径70,定子外径120,定子内径50,磁钢厚度5,气隙1.0,转子轭厚度8,定子轭厚度10。这个比例并不适用于所有电机,但它代表的是一种“合理可参考”的量级关系,方便说明建模步骤。你把尺寸换成自己的目标值即可,结构流程完全通用。
2.2 各个部件应该用什么材料
材料分配是新手容易忽略但极其影响仿真结果的步骤。
- 定子铁芯:用M19_24G或者DW310-35硅钢片替代默认的vacuum。Maxwell材料库里的M19_24G自带BH曲线,能反映磁饱和效应。
- 转子轭:同样使用硅钢片或实心铁,注意如果转子轭是实心铁,涡流损耗可能会偏大;若要考虑涡流,需在材料属性中设置电导率。
- 永磁体:在Maxwell材料库中选择NdFe35(钕铁硼),矫顽力和剩磁都是内置的。用永磁体时要特别注意充磁方向,轴向磁通电机通常采用轴向充磁,也就是磁化方向沿Z轴。Maxwell中创建材料时,要自定义一个矢量方向条件:若模型处于上半部分则磁化方向为+Z,下半部分为-Z。
- 绕组线圈:选择copper,这个没什么悬念。
- 运动域和静止域之间的气隙空间:保持vacuum即可。
一个常见误区:气隙处不要填任何材料。有些人为了让模型“看起来完整”把气隙填成某个实体介质,这会直接改变磁阻,导致转矩计算结果完全不可信。气隙在Maxwell中就是真空(空区域)或空气,这在电磁场求解中被处理成Background或模型内部空腔。
3. 一段一段搭出几何:从永磁体到定子齿槽的完整流程
几何建模最大的问题是:一次性画出复杂的3D结构往往让人望而生畏。我的应对方式是拆成单个零件依次建模,然后利用坐标变换和布尔运算将它们装配起来。以下按我在Maxwell中的实际操作顺序展开。
3.1 转子轭和永磁体阵列:利用旋转复制生成完整周向分布
先画上转子轭。在Maxwell 3D中,用Draw -> Regular Polyhedron或者Draw -> Cylinder。对于环形转子轭,常见做法是画一个实心圆柱,再在其内部通过subtract挖掉一个同轴的小圆柱,形成环状。
操作顺序:
- 以原点为圆心创建圆柱,底面在Z=0(或者Z=某高度),半径设为R_ro=60,高度为8 mm。
- 创建第二个圆柱,半径R_ri=35(对应内径70的一半),高度相同,两圆柱同轴。
- 用Subtract操作,将大圆柱减去小圆柱,得到环形转子轭。
永磁体的建模相对麻烦一些。以表贴式弧形磁钢为例,它的形状是一段环形,圆心与转子同轴,但径向厚度为磁钢厚度。为简化工序,我通常用“圆柱体分段”的方式创建磁钢:创建一个内径等于转子外径、外径等于转子外径加磁钢厚度、高度等于磁钢厚度的短圆柱环,然后使用Split或者布尔切分,按照极对数切成N段弧形块。
Maxwell没有像SolidWorks那样方便的圆周阵列吗?有的,你可以对单块磁钢执行Edit -> Duplicate -> Around Axis,输入槽数或者极数以及旋转角度,一次性复制出所有上转子的磁钢块。关键是先选对坐标轴(Z轴),并设定旋转副本数量。
下转子磁钢的建模可以沿用“复制+旋转180°”的思路:上转子磁钢完成后,全选这些磁体,Edit -> Duplicate -> Mirror,以XOY平面为镜像平面,生成下转子的镜像磁体。这一步在TORUS型电机中至关重要,因为上下转子磁钢的极性排列通常是相对分布的(比如上转子N极对齐下转子S极),镜像操作正好满足相位要求。
3.2 定子铁芯:用齿槽布尔运算挖出绕组窗口
定子铁芯是整个模型中几何最复杂的部件,但它的构建规律性很强。先画一个环形定子轭(同样用圆柱相减),然后再画出若干矩形齿,再用“齿+轭”合成定子铁芯;如果要得到齿槽形状,就反过来:先画出完整的定子圆环实体,再画矩形空气槽,用空气槽去减掉实心环。
我推荐后一种思路,原因是它能直接创建出定子的齿+轭一体结构,避免齿和轭之间因为接触面额外产生网格剖分和接触电阻类问题。操作路径:
- 画一个环形实体:外径60(对应外径120)、内径25(内径50)、高度10。
- 在定子齿位置创建矩形块,矩形块宽度等于齿宽,高度大于定子高度,长度从定子内径延伸到外径,方向沿径向。
- 用Duplicate Around Axis将矩形块复制为槽数(例如12槽就复制12个,每次角度30°。
- 复制一份矩形块并修改宽度为齿槽宽度(略大一些),这12个块作为“布尔减除刀具”从定子圆环中扣除。
- 执行Subtract,用已有的定子铁芯体减去那12个“槽刀具”。
复杂的地方在于:一次性减掉全部12个矩形可能引起几何错误,因为矩形块之间恰好都共享中心区域。我的经验是把矩形块尺寸设置为“穿透”定子内径和外径,然后在Subtract设置中勾选“Keep tool objects”,以便后面做绕组时继续借用这些空间参考。
3.3 绕组线圈:用多段体拼接出来的三相集中绕组
轴向磁通电机最常用的是集中绕组,也就是每个定子齿上绕一个线圈,不需要复杂的端部跨线。这在Maxwell里建模非常讨好,可以用矩形Box直接拼出“线圈骨架”:
- 在线圈所在位置画一个矩形箱体,尺寸略大于槽面积,作为绕组占位体。
- 在箱体中间挖出一个小一号的箱体(尺寸正好等于铁芯齿的截面积),留下的空腔就是绕组导线分布区域。
- 将这条“环形绕组”横向拉伸到槽内所需高度。
- 对线圈实体分配材料copper,并设置绕组激励(Winding和Coil)。
对于分数槽集中绕组,你需要提前规划好A、B、C三相绕组的线圈顺序。例如12槽10极电机,绕组排布大概为A-A-B-B-C-C……按电角度依次排列。Maxwell中每个线圈的名称设置为A1、A2、B1、B2等,方便后面创建Winding时把它们分组成三相。
这里必须提醒一个小细节:线圈的方向(正负)代表电流流入方向。你可以在分配Coil的Terminal时通过Positive(正方向)或Negative(负方向)设置,确保同一相的所有线圈通电方向一致,否则合成磁动势会互相抵消,反电动势波形会明显异常。
3.4 把所有零件装配到正确的位置:坐标变换的高级运用
当你把各个部件单独画完后,需使用Edit -> Arrange -> Move/Copy精确移动到目标位置。我习惯先画定子,再把上、下转子分别移动到定子上方和下方。移动参数直接使用参数表达式,比如上转子轭的底面Z坐标写成转子轭厚度+气隙+定子半高+磁钢厚度,下转子则用负值对称布置。
检查装配是否正确的最快方式是切换到侧视图(View -> Rotate,或者快捷键Alt+方向键),沿Y轴方向看,确认气隙大小对称。这一步非常值得花两分钟做,否则后面网格一剖出来,你才发现上气隙1.0mm、下气隙0.98mm这种不对称,转矩波动算出来自然不稳定。
装配完成后,全选所有几何体,执行Modeler -> Boolean -> Unite?不建议。Maxwell中把装配体整体合并成一个零件有时候会导致后续Band设置困难。正确的做法是保持各个零件独立,但确保它们在几何上不重叠不干涉。不同零件之间只要接触良好,Maxwell求解时默认它们是连续的(没有接触电阻),所以不需要手动unite。
4. 运动域(band)和边界条件:这块儿最容易报错
在Maxwell 3D瞬态场中,要让转子旋转,必须建立一个运动域band。band的几何必须是旋转体(圆柱体),而且内部必须包含所有运动部件,但不能包含任何静止部件。这个定义稍有问题,求解器立刻报错“Moving objects are not inside the band”或者“Stationary objects inside the band”。
4.1 Band域怎么设置才稳妥
针对TORUS结构,我把band设计成一个圆柱环,内径小于转子内径,外径大于转子外径,上下表面正好覆盖上下两个转子轭的外侧面。注意band不能把定子和绕组包括进去,因此band的边界应该刚好卡在气隙区域中部——也就是把上下气隙的一半包含进去,另一半留给静止域。
更稳妥的做法是分三步建立band域:
- 画一个圆柱体:半径=转子外径+2mm,高度=从上转子轭顶面到下转子轭底面之间的距离。
- 画一个内圆柱体:半径=转子内径-2mm,高度相同,两者做减法。
- 得到环形band域后,把它的材料设置为vacuum,并确保它是单独的一个零件。
设置band运动的参数在Motion Setup里:选择Rotational类型,转轴坐标为(0,0,0)、轴向为Z轴,初始位置角度0°,角速度3000rpm。如果模型是多个周期段,比如你只建了1/2模型或1/4模型,角速度不变,但旋转角度范围需要设置为对应的周期倍数。
4.2 主从边界和对称模型的处理策略
对于轴向磁通电机这种周向对称结构,Maxwell支持利用对称性把模型缩减为1/2、1/4甚至1/p(p为极对数)来减少计算量。这时需要做主从边界(Master/Slave)设置。以1/4模型为例,模型占90°扇区,那么在旋转周期方向上定义Master面和Slave面,并设定主从边界关系。
具体操作:在模型的两个切开面上分别Assign Boundary -> Master和Slave,并指定主从边界对应的旋转轴和匹配方向。需要注意:如果定子槽数和极数的最小公倍数周期不是简单的1/4模型,比如12槽10极的最小周期数是1/2模型(因为每转一圈磁场重复两次),那就使用1/2模型而不是1/4模型。很多人在这里想当然地选择1/4模型,结果计算结果相位错乱、转矩波形周期不对。
从实操角度,第一次建模时我建议直接跑全模型,也就是360°完整模型。虽然慢一些,但至少不会有对称边界设置错误的困扰。等模型验证完成后,再改造成1/2或1/4模型用于参数化扫描提高效率。
4.3 如何用外域(Region)控制模型的整体计算范围
Maxwell外域(Region)默认是把所有几何包住的长方体或圆柱体。对轴向磁通电机,建议把Region设置为圆柱形,半径=模型外径+10mm,高度=模型总高+10mm。边界条件可以设置Region表面的气球边界(Balloon),或者默认的Neumann边界(即零磁通泄露)。固定外域的尺寸不要过大,不然网格数量飙升;也不要贴物体太近,否则边界对磁场分布影响不可忽略。
5. 网格剖分和求解设置:直接影响3D模型成败的关键
3D电磁仿真最怕的不是物理过程复杂,而是网格剖分失控导致内存爆炸或者计算时间不可接受。轴向磁通电机3D模型的网格策略与径向电机有显著区别,因为气隙是平面的圆盘状,而不是圆柱面状,需要专门控制轴向层数和径向密度。
5.1 网格剖分的基本策略:气隙层加密,磁钢和轭部按需简化
Maxwell的Adaptive Mesh(自适应网格)在静态场中很好用,但在瞬态场中通常在开始时设置一次初始网格,不在每个时间步都做自适应加密,因为计算量太大。因此手动控制网格是3D瞬态仿真的必选项。
我的剖分原则:
- 气隙:至少保证3到5层网格。气隙中的磁通穿越方向沿Z轴,因此沿轴向需要划分多层;沿径向方向也要保持足够的网格密度,因为磁场沿径向快速变化。采用Length Based Mesh,元素最大尺寸设为气隙厚度的1/3左右。
- 永磁体:网格可稍粗一些,磁钢内部的磁场变化不如气隙剧烈,最大长度可以设为5~8mm左右,但不要超过磁钢厚度的两倍。
- 定子齿和轭部:因为饱和效应,齿部网格要加密到2~3mm,轭部可以放宽到5mm。
- 运动域band内的空气部分:需要设定一定的基础网格,但不必特别密,因为band只是用来定义旋转域的参考空间。
- 线圈:可以用默认网格,因为绕组区域磁通密度很低,网格疏一点不影响整体结果。
网格设置的位置在Mesh Operations -> Assign Length Based。你可以同时选中多个几何体统一设定,也可以用不同名字标记不同区域,方便后续调试。
一个重要的实操心得:在首次剖分时,先设一个“较粗的网格+较少的步数”跑通全流程,确认模型没有几何错误和边界设置问题后,再细化网格进行正式计算。这样做能在调试阶段节省大量时间。
5.2 求解器参数:导通角度、时间步长和收敛条件
瞬态求解设置中,除了停止时间和时间步长外,还需要关注以下几个参数:
- 停止时间:设为机械周期T的整数倍,比如3个机械周期。用公式 T = 60 / (n * p) 计算机械周期,其中n为转速(rpm),p为极对数。例如极对数为5、转速3000rpm时,一个机械周期=60/(3000*5)=0.004s=4ms。如果你只关心电磁稳态,跑3~5个机械周期足够。
- 时间步长:至少保证每个电周期有200~400步。电周期=机械周期/p(对于10极即p=5),一般设置步长=电周期/400,保证转矩波形的谐波精度。
- 非线性残差:保持默认或适当放松到1e-4,如果出现不收敛,先检查网格尺寸而不是调整残差。
- 各时间步的场保存:如果只是想看最终波形,不需要保存每个时刻的场图,那样会占用大量磁盘空间。建议只在需要查看磁场分布的几个关键点勾选Save Fields。
我在实际跑模型时惯用的策略是:先用粗网格跑一个机械周期,确认转矩曲线的幅度和波形大致对得上;再在参数化扫描时,使用较为细化的网格只跑半个到一个机械周期,这样既能得到趋势,又不会让总耗时飙到不可接受。
6. 激励和绕组设置:让磁通产生转矩的核心环节
模型建好、网格剖分也跑通后,剩下最关键的是把绕组激励设置正确。这一块看起来简单,却是“看似能跑但结果千奇百怪”的重灾区。
6.1 创建三相绕组和线圈分配
在Maxwell 3D瞬态场中,选中几何模型中的线圈实体,点击Assign Excitation -> Coil。弹窗中需要给线圈命名并指定电流方向(正/负)。建立Winding的方法是:Excitations -> Add Winding,选择电流源(Stranded)或者绕组源(Solid),对每个线圈分配给它所属的相绕组。
需要注意,对于集中绕组双转子结构,线圈通常会像三明治一样布置在定子齿上,其电压和电流关系与常规径向电机类似,但相位差需要根据具体绕线方式计算。12槽10极电机绕组系数较高,通常采用A+B-C+A-B+C-……的排布规律,每个线圈的电角度差为30°机械角×5极对数=150°电角度,所以三相绕组不能简单按相邻线圈依次分配A、B、C,而要跳过间隔。新手易踩的坑就在这里:相同相的两组线圈差180°电角度反而是一相,而相邻线圈通常是另外两相,要仔细核对槽矢量星形图。
6.2 电流激励的大小和角度怎么给定
如果是电流源激励,三相电流表达式为:Ia = I_peak * cos(2πft + theta_deg),Ib = I_peak * cos(2πft + theta_deg - 120°),Ic = 相应再偏移240°。其中theta_deg为电流初相角。转矩对电流初相角很敏感,改变它可以获得最大转矩电流比控制效果。初次仿真建议先设置内功率因数角为0°,观察转矩波形和反电动势相位关系;然后通过参数化扫描theta_deg从-30°到30°,找到转矩最大的角度。
如果采用电压源激励(比如仿真带变频器供电下的电流谐波),需要在Winding里设置电阻和端部电感,还要额外设置端部漏感。但这会显著增加收敛难度,首次尝试建议采用电流源激励,结果更稳定。
6.3 参数化扫描:用几十个运行点换一条性能曲线
Maxwell的Optimetrics可以很方便地对电流初相角、电流幅值、转速等参数进行扫描。在Design Properties里定义参数后,在Optimetrics -> Parametric Setup中指定扫描范围和步长,Maxwell会自动完成计算。
参数化扫描的时间管理尤为重要。以一个10极、3000rpm、网格量约为150万单元的模型为例,单次求解3个机械周期大约需要20到40分钟。如果扫描10个电流角、5个电流幅值,就是50个运行点,总耗时可能达到一天。这时可以考虑把每个运行点的停止时间缩短为1个机械周期,或者在确保波形稳定的情况下减小时间步长。更高效的方案是1/2模型结合周期边界,将计算量直接砍半。
7. 结果提取与常见问题排查:看完波形才算完事
设置完成并跑完仿真后,接下来的工作是把结果从一堆数据里提取出来,并判断模型是否正确。这里列一下我常用的结果提取路径和几个我反复踩的坑。
7.1 转矩波形:看平均值、波动率,更要看谐波
在Results -> Create Transient Report -> Rectangular Plot中,选择Torque和Moving1.Torque,可得电磁转矩随时间变化曲线。轴向磁通电机的转矩波形通常含有明显的6次电频率谐波,这是由齿槽和绕组磁动势谐波共同作用产生的。
判断模型是否合理的方法:
- 稳态平均转矩值与你手算的期望值偏差在10%以内(手算可用经典公式 T = (P2/ω)估算)。
- 转矩波动率 = (峰值-谷值)/平均值,通常在10%~30%之间。如果大于50%,先检查网格密度是否足够,再检查绕组电流方向是否成对出现错误。
- 转矩波形的周期应该是电周期的1/6(对应6次脉动)。如果周期不对,说明你的模型极槽配合设置或运动周期设置有问题。
7.2 反电动势波形:直接暴露磁钢和绕组问题
在模型空载状态下(电流设为0,仅靠永磁体励磁),提取绕组的感应电压A相波形。三相波形应相位差120°电角度,幅值对称。如果出现一相反电动势与其他两相不同,优先检查线圈方向分配和A/B/C三相的Winding配置;如果反电动势波形不是良好的正弦形状而带有高次尖峰,优先查看气隙网格密度的轴向层数是否足够,以及磁钢是否过度饱和。
7.3 磁场云图:肉眼验证模型的最好方式
最后,强烈建议在特定时刻查看磁通密度云图和磁力线分布。选中模型,右键Fields -> B,确定工作平面为过旋转轴的XZ平面。观察磁力线是否合理穿越上下气隙、定子齿部是否出现局部饱和(颜色变红甚至超过材料饱和点),转子轭部是否也有过度饱和现象。如果看到某个地方颜色极不均匀且位置不在齿尖,大概率是几何建模时出现了穿模重叠或者材料分配错误。
在长期的使用中,我还总结出一套快速排查口诀:转矩波形畸变先看网格和绕组,反电动势不对称先查线圈方向,整体结果离谱先看材料是否被误设成vacuum,磁力线穿过band边界异常就检查band大小是否包含静止件。
8. 性能优化方向:从“能跑”到“跑得快”
模型搭建并验证完毕后,你大概率会面临一个尴尬:仿真慢得让人怀疑人生。轴向磁通电机由于气隙平面宽大,相同精度下3D模型单元数经常比径向电机多30%到50%。要缩短计算时间,以下几种方法经过我的实测非常有效。
8.1 用对称性把模型缩小到1/2或1/4
在最初全模型验证完成后,建议立刻改造为1/2模型。方法是删除一个半圆区域内的几何,然后在剖分面上定义主从边界(Master/Slave)。1/2模型的计算量几乎减半,但结果精度不受影响。如果极数和槽数的最小公倍数允许,再进一步缩减到1/4模型。
注意:band域也需要跟着切成1/2或1/4。对称模型中的band可以不是完整环,而是扇形环。扇形环的几何创建方式和之前一样,只是圆心的包围角改为90°或180°。主从边界的设置位置必须和band切开面对齐,否则求解器会忽略你的对称条件。
8.2 调整求解器设置换取速度
瞬态场中,将非线性求解残差从默认的1e-4放宽到1e-3,多数情况下对转矩波形精度影响很小,但单步收敛迭代次数会明显下降。此外,将时间步长从每个电周期400步降到200步,波形虽然略微变粗,但用于前期趋势判断完全够用。
还有一招:先不保存Fields。保存场数据是磁盘杀手和时间杀手,在参数化扫描时尤其明显。等到最后确定的那一个运行点再单独保存场图,其他运行点只提取波形数据。
8.3 网格策略再优化
气隙网格的轴向层数从5层降到3层,B(磁密)结果误差大约在2%以内,但网格量下降明显。定子轭部网格从2mm放宽到4mm,只要不出现局部饱和区域,基本不影响转矩平均值。通过两个级别的网格对比(粗网格和细网格各自跑一次),如果转矩平均值波动小于3%,可以放心用粗网格批量扫描。
9. 写在最后:我反复踩过的几个坑,你一定要躲开
这篇文章的技术步骤到这里基本讲完了,但我想额外分享几个在Maxwell中做3D轴向磁通电机仿真时容易忽略、却最让人抓狂的细节。
第一个是单位问题。Maxwell对单位很敏感,建模时一旦从mm切换到英寸,所有参数表里的数值都会发生对应变化,若混合使用会导致模型按比例放大25.4倍,网格量和求解时间急剧膨胀。我的习惯是从创建Design开始就锁定单位,中途绝不切换。
第二个是转轴方向。轴向磁通电机的转轴是Z轴,但有些人从其他软件导入模型时,模型默认按Y轴为旋转轴导入,如果不主动把整个模型旋转到Z轴,后面band和Motion Setup怎么设置都报错。建议在几何建模完成后,明确检查一下零件最高点和最低点是否分别位于Z轴正负方向。
第三个是磁钢充磁方向。Maxwell里每个永磁体可以单独设置充磁方向。轴向磁通电机中,充磁方向是轴向的,但不同位置磁钢的正方向不同(上转子N朝上,下转子S朝上或者相反)。我建议在建模阶段对磁钢对象命名时就直接带上前缀,比如Mag_Up_N、Mag_Down_S,这样在设置材料方向时不会混乱。
第四个是忽略“隐藏的薄几何体”。如果你用外部CAD建模后导入,哪怕有一个0.01mm的微小圆角或倒角,Maxwell在剖分时都可能生成退化网格单元。遇到求解器提示“Mesh geometry not valid”时,第一个动作不是调网格,而是检查导入模型里是否存在小面、极小倒角或极其细长的特征,尽量在CAD中清理干净再导入。
另外,对于版本差异:不同版本Maxwell(以及Electronics Desktop集成环境)的操作菜单名称略有不同,但核心的建模逻辑一致。我用的是2021 R1版本演示,如果你用的是2020或2023/2024版本,菜单名绝大多数保持一致,偶尔个别命令位置会有调整,按关键词搜索就能定位。
最后说一个心态建议:3D电磁仿真本身就是反复“建模、求解、调整、再求解”的过程。我第一次搭好这个轴向磁通模型后,转矩波形一出来跟理论值差了接近40%,排查了一整天才发现只是有一相绕组的两个线圈方向设反了。从那以后,我再也不在一次性设置全部绕组后直接跑长仿真,而是先用一个极短的时间段、粗网格快速验证电路和绕组接线是否正确。你的目标不是“把模型建得华丽”,而是“让模型能稳定输出一个可信的数字”。沿着这个目标往前走,Maxwell里的轴向磁通电机3D模型,其实没有想象中那么难。