Jmag到Ansys电机NVH联合仿真:电磁力映射与谐响应全链路解析
做电机NVH的工程师手里通常都有一对“老搭档”Jmag算电磁Ansys算振动噪声。但这两个软件之间有一段尴尬的空白——Jmag算完的电磁力怎么搬到Ansys的结构网格上长期以来都是手工操作的重灾区。这篇帖子我就把自己做的一套连接接口完整拆开讲清楚从Jmag电磁力提取、跨网格数据映射、Ansys载荷加载到最终振动噪声结果的全链路希望对正在搭联合仿真流程的朋友有点实际帮助。文章会涉及电磁力波的概念、网格力映射算法、谐响应加载配置、声学扩展这几个模块属于比较硬核的仿真工具链整合内容如果你是刚接触电机NVH的新人前半部分的电磁力基础也可以当成概念梳理来读。1. 为什么非要让Jmag和Ansys“联姻”这套联合仿真链路的行业背景先交代一下背景免得有人上来就问“Ansys自己不是有Maxwell吗为什么还要折腾Jmag”这个问题很现实答案也远不止“习惯”两个字能概括。1.1 分工现实Jmag管电磁设计Ansys管结构声学电机研发团队里电磁设计和NVH仿真往往是两拨人。电磁组拿着Jmag因为它对电机本体太友好了模型模板齐全、硅钢材料库完善、永磁体损耗算得准出效率MAP、算电磁力波都很快。结构组则常年泡在Ansys Mechanical里模态、谐响应、瞬态、随机振动工具链成熟如果要考虑声场还有声学模块能算声压级和声功率。问题恰恰出在两个软件天然不互通。Jmag算完电磁场电磁力分布是依附在它自己的网格上的Ansys做结构分析要求的载荷必须落在结构网格的节点或面单元上。两边网格密度、节点编号规则、坐标原点定义完全不一致。我在实际项目中试过直接从Jmag导出力再手工搬到Ansys里过程极其痛苦几千个节点力要逐个核对坐标稍不注意就会把力的方向搞错或者遗漏某一相的位置。做出来的结果自己心里都没底更别说拿去指导产品改型。1.2 手工对接的三大痛点网格、坐标、时间步手工搬力之所以不靠谱核心是三个层面都对不上。第一个是网格密度。电磁分析的气隙附近网格步长经常小到0.1毫米以下而结构网格为了计算效率定子齿面上的单元边长通常在1到2毫米。把密集的力场插值到稀疏的结构网格上简单的最近邻取值只在网格对齐理想时才成立实际中要么出现力的“阶梯状”分布要么局部峰值被抹掉最终谐响应结果对不上实测。第二个是坐标和单位。Jmag的2D模型通常把原点放在转子轴心上模型是二维的力密度的单位是“每米轴向深度上的力”Ansys结构模型是完整的3D原点可能在定子端面也可能在装配基准点。不做坐标变换力加载的位置全错。单位这一关最隐蔽——很多人第一次把Jmag的力导进去发现结果大得离谱多半是漏乘了轴向长度。第三个是时间步。电磁瞬态仿真为了捕捉饱和和谐波时间步长常常取到几十微秒一个电周期几百步而结构谐响应分析要的是“频率—幅值—相位”的浓缩信息不需要也不应该把每步都搬过来。手动搬运时这一步最容易乱要么信息冗余到Ansys根本跑不动要么漏了关键的力波阶次。1.3 这套接口适合谁如果你是以下三类人这条链路值得完整搭一次。团队里电磁设计用Jmag、结构与声学用Ansys经常需要跨软件传数据的工程师做电机NVH预研想把“电磁—结构—声学”串成一条自动化流程、减少重复劳动的技术骨干正在评估Jmag和Ansys联合仿真方案想先搞清楚工作量和技术难点的带队人。反过来如果你们的电磁场仿真已经全部迁移到Ansys Maxwell那就不必走这条链路Maxwell和Mechanical之间的接口是现成的直接用就好。这篇文章的价值恰恰是把Jmag这一侧缺失的通道补上。2. Jmag侧的第一仗把定子齿面的电磁力稳定提取出来接口的输入端是Jmag算出来的电磁力。这个环节做不扎实后面映射再精细也没用。我先从力是怎么来的讲起再聊实际操作中的提取流程。2.1 电磁力从哪里来麦克斯韦应力张量与定子齿面力波电机的电磁噪声根源是气隙里旋转磁场对定子铁心的作用力。气隙磁密可以分解为径向分量Br和切向分量Bt两者作用于定子齿内表面产生径向力密度σr和切向力密度στ径向力密度 σr (Br^2 - Bt^2) / (2·μ0)切向力密度 στ Br·Bt / μ0其中μ0是真空磁导率约4π×10^-7 H/m。可以看出无论Br还是Bt力密度都是磁密的平方量级所以频率天然就是电磁频率的2倍。最常见的情况是基波磁密在定子齿面产生2倍电网频率的径向力波而开槽和磁饱和带来的空间谐波会产生更高阶的力波比如4f、6f以及一系列与槽数、极数相关的频率分量。径向力波是噪声的主要贡献者它让定子铁心发生低阶变形第2阶椭圆变形、第4阶是振动噪声最关心的两个空间阶次。这些“力波”同时具备时间阶次和空间阶次两个维度时间阶次对应供电频率的整数倍空间阶次对应沿圆周的波瓣数。判断要不要在某个转速点避开发声就是把力波的时间和空间阶次与结构模态的固有频率和振型节圆数做匹配。这是后面联合仿真里最核心的判据。2.2 Jmag中的提取操作选面、时间点和输出项在Jmag里提取电磁力我习惯的做法分四步。第一步建立一个完整的瞬态磁场分析工况。激励源用电流源或电压源输入采样区间至少覆盖一个完整电周期步长尽量和后续关注的最高频率对应。比如要看20kHz的噪声采样步长就取它对应周期的1/10以下保证FFT时高频段有足够的信息。第二步在模型树上选中定子齿内表面所对应的边。2D模型选的是边线3D模型选的是面。注意要把所有齿的受力面都选全不要漏齿否则径向力会在整周上不闭合后面合力校验会报警。第三步在输出请求里勾选力密度输出项。Jmag支持节点力、单元力及力密度等输出我推荐把“面力密度”输出到CSV字段包含节点坐标和径向/切向分量。存储时按时间步输出确保每个时间步都保存一个完整的快照。第四步导出前做一次自检。在Jmag后处理里画出定子齿面径向力密度的分布云图肉眼确认最大值出现的角度位置和大小是否符合物理预期。这步看似多余但能帮你提前发现激励源相位设错、轴心位置偏置这类低级问题。2.3 数据落地力密度文件里到底该存什么既然要开发接口就必须对数据格式做严格约定。我最终选择的落地格式是一个按时间步组织的CSV目录结构每个时间步一个文件文件名带绝对时间戳和转子机械角度。文件内部字段固定为节点或单元编号笛卡尔坐标X、Y、Z哪怕是2D模型也补Z坐标方便后面统一处理变换径向力密度、切向力密度两个分量。之所以存笛卡尔分量而不是极坐标分量是因为Ansys加载面载荷时是以全局直角坐标给出的接口里做坐标旋转时直接乘旋转矩阵就行少一层转换就少一分差错。单位上Jmag的2D模型给的是“单位轴向长度上的力密度”正好等于帕斯卡的量纲这一点要在接口文档里写死后面统一处理。这一步做完你的仓库里就有了一套完整的、带坐标和时间标签的电磁力快照。下面进入接口开发的正题。3. 连接接口开发核心跨网格力映射与坐标/单位统一接口是这个链路里工作量最大、也最容易出坑的部分。我按算法选型、二维转三维、单位与时间对齐、程序架构四个层面讲清楚。3.1 映射算法选型最近邻、反距离加权还是保合力插值Jmag的源网格和Ansys的目标网格几乎不可能重合所以第一步是把电磁力从源网格映射到目标网格上。我评估过三种常见方案。最近邻插值找目标节点最近的源节点直接搬力。速度最快但对网格错位极敏感会出现明显的锯齿状力分布尤其是力密度峰值区域误差能到10%以上不推荐拿来直接加载谐响应。反距离加权插值取目标节点周围的若干源节点按距离倒数加权平均。比最近邻平滑但会把峰值拉低而且本质还是“点的插值”没有物理量守恒的概念。力波的峰值往往决定共振响应幅值把这个峰值抹掉工程上是不可接受的。保合力加权映射以面单元为对象把源网格每个单元上的力按面积比例分配到该单元所在的目标面上。分配后再做全局合力和合力矩校验保证映射前后总力基本守恒。这是当前工程实践里最合理的选择我最终也选了它。实现思路是先从Jmag的网格文件里读源面单元计算每个单元的面积与力力密度乘面积再乘以轴向长度在目标网格上为每个源单元搜索一组目标单元按面积权重把力拆过去最后汇总目标节点上的节点力。关键是不论怎么拆每个齿对应的径向合力在映射前后必须基本一致。工程上我要求误差在1%以内超出就得回头查网格穿透或者单元漏选。3.2 二维到三维的轴向扩展与坐标系对齐Jmag平面模型算出来的是“每米轴向深度的力”转成3D时必须乘以有效轴向长度。实际操作中我会把定子铁心长度拆成几段比如铁心中段按额定长度计算端部区域因为绕组端部漏磁的影响电磁力密度与中段略有不同工程上可以按经验系数0.9到1.0修正后再分配。对大多数NVH问题直接按均匀分布乘以轴向总长结果已经足够用了。坐标系对齐是接口里最细碎但最要命的一步。我踩过的坑是Jmag的圆周角度定义和Ansys的Global坐标系差了一个机械角导致力载荷整体转了30度谐响应算出的响应频谱形状完全对不上。解决办法很直接在接口配置里放一个旋转矩阵参数用一组已知的对应点比如某相绕组的轴线方向自动标定出两个坐标系之间的旋转变换而不是人工量角度去填。这样即使将来换电机、改模型基准接口也能自动校准不会引入人为输入错误。3.3 单位、时间步与旋转位置的一致性核对单位问题看似基础但杀伤力极大。Jmag 2D的单位制默认是米-千克-秒力密度单位是N/m但如果你在Jmag里设置了不同的单位系统导出的数值可能带kN/cm等混合单位。我的建议是接口入口处强制做一次单位归一化读文件时校验单位头然后统一转换成国际单位N、Pa。宁可多写几行校验代码也不能让一个错误单位穿透到结构分析里。时间步这一层如果做谐响应分析不需要把电磁瞬态的每个时间步都导入Ansys。接口会在映射之前先对每个节点的力时间序列做FFT得到各频率分量的幅值和相位然后只把关注的频率点写入Ansys载荷。这样结构侧的计算量大幅下降谐响应分析的频率范围也能和电磁力谱严格对齐。实际案例里一个电周期512步的电磁仿真FFT后我们只保留了10个左右的力波频率点精度和全频段相比几乎无损失但谐响应求解时间缩短了一个数量级。3.4 接口程序架构解析器、映射器、加载器三分工程序结构上我把它拆成三个模块边界清晰出问题也好排查。解析器负责读取Jmag导出的CSV和网格文件做单位归一化、字段对齐、缺失数据补零。这层只做数据清洗不做任何几何变换。映射器执行网格映射、坐标旋转、二维转三维扩展、FFT频谱分析输出一个中间结果文件。我用的HDF5方便存大数组和附加属性。加载器把HDF5数据转成Ansys能识别的加载文件我生成一段APDL命令流里面按定子齿面面单元编号施加复数压力载荷包括实部和虚部。Workbench用户也可以把这个命令流放到Script中运行效果相同。整套接口我用Python实现网格搜索部分用了SciPy的KDTree处理一台8极48槽永磁同步电机的单个工况点几万个源节点映射到几万目标节点整体跑完不到10秒。如果后续要做多工况扫描接口还要加一个批量循环的外壳把转速和转矩作为参数传进来即可。4. Ansys侧加载与求解把电磁力“压”到结构网格上接口把力送进Ansys之后剩下的就是结构动力学流程。流程本身大家都很熟——先模态、再谐响应、后处理看频谱——但环节之间的细节决定成败尤其是加载方式和求解设置我用过的一版配置踩了不少坑这里把最终沉淀的做法完整列出来。4.1 模态分析先行定子组件的约束、接触与等效质量振动噪声分析永远从模态开始。定子组件的建模有几个容易出问题的地方。第一硅钢片叠压件的各向异性。叠片方向轴向的弹性模量明显低于径向一般只有径向的60%到70%而且界面之间存在非线性阻尼特性。Ansys里设置材料时我会用正交各向异性弹性属性轴向模量按叠压系数折算密度则按实际铁重除以轮廓体积保证总质量正确。如果直接用各向同性材料模态频率的方向性会完全失真。第二绕组的等效处理。铜线、绝缘、浸漆在槽内混在一起单独画几何体没必要也容易过刚。我的做法是在槽内建一个等效实体密度按铜重放大1.2到1.5倍考虑绝缘和浸漆弹性模量取一个远低于铜的值。绕组对刚度贡献小主要贡献质量这样做出来的模态频率才能压到实测范围。我曾见过有人把绕组实体按纯铜模量建模第一阶模态直接高出三四百赫兹整个共振匹配判断就全错了。第三接触设置。定位筋、螺栓、机壳与定子铁心的接触在模态分析里用绑定接触一般够用如果关心机壳与铁心之间的阻尼损耗可以转向粗糙接触加摩擦系数的小滑移模型但这会让求解变慢且参数不好标定初次搭建流程不建议上。约束条件要和企业内部的测试工况一致如果样机测模态时是自由悬挂模态分析就不要加载任何约束如果测的是装机态才考虑螺栓孔固定或整机约束。这一点一致性是后续频响验证的前提。4.2 谐响应求解设置频率范围、阻尼与求解器选择谐响应分析有两种求解路径模态叠加法和直接积分法。对电机NVH场景频率范围通常在几百赫兹到数kHz取模态叠加法就够而且速度优势明显。关键是把模态阶数取够一般要保证最高关心频率的1.5倍以上有模态覆盖否则叠加会截断高频响应偏小。我见过同事最高关心频率取2kHz模态只算到2kHz附近的阶次结果5kHz附近的响应全都失真这个覆盖关系要提前算好。频率范围怎么定在接口做FFT时你就应该知道关注力波的最高频率了谐响应扫描范围设为基频到1.2倍最高关注频率即可。我习惯初始粗扫用5Hz步长找到峰值再在峰附近加密到1Hz或0.5Hz既省时又不会漏峰。直接上来就0.5Hz全频段扫结构侧要跑好几天得不偿失。阻尼是谐响应里最敏感的参数。没有实测数据时定子铁心加机壳组合的结构阻尼比取0.01到0.02是常见的工程起点后面和锤击试验或运行实测对比后再修正阻尼比。阻尼比取错响应峰值可能差好几倍这是联合仿真链路上误差最大的单一来源心里要一直惦记着这个数是谁给的、准不准。4.3 加载方式对比压力载荷、节点力与映射表Ansys里加载面力有几种做法我的建议是优先用面压力载荷原因有二。一是力密度数据和面载荷在物理上是对应的单位是Pa而不是N接口映射后直接对应。二是压力载荷在结构网格上可以按面展开不会因为局部网格畸变产生节点力集中效应。节点力方案适合想用力幅精确控制的场合但需要注意力的方向必须在全局坐标系下逐节点定义一旦定子齿面法向方向各节点不统一节点力方向和压力法向之间需要乘一个方向矩阵写起来繁琐也容易出错。Remote force这类“远程力”只适合做简化校核不适合作为正式的力波加载因为它的空间分布无法表达电磁力波的第2、第4阶空间特征。你用一个集中力模拟径向力波算出的机壳变形形状和真实分布差得很远共振频率虽然接近但响应幅值会明显偏高。具体的命令流模板我通常这么组织先用APDL选择定子齿面面单元然后用SFE命令按单元号施加压力载荷幅值用复数——实部对应FFT的实部虚部对应虚部。多个频率点就是多条载荷工况Ansys谐响应里会把它组合成一个激励谱。4.4 力波阶次与共振校核从频谱里读出问题载荷加载完、谐响应求解完成后关键是要会看结果。我一般先看定子背面或机壳表面的加速度频响曲线把响应峰值频率和电磁力谱的主要频率逐一对应。比如8极48槽电机基频为f时2倍电频率2f的径向力波一定会出现如果结构模态里恰好在2f附近有2节圆模态会发现响应峰值异常突出噪声尖峰概率极高。更进一步把转速扫描做成坎贝尔图横轴转速、纵轴频率把各阶电磁力波频率比如2f、4f、6f以及齿槽转矩和转矩脉动的相关阶次画成斜线再把模态频率画成水平线斜线与水平线的交点就是需要避开的共振转速点。这个判断应该在联合仿真里提前做而不是等谐响应算完才发现峰值落在问题转速上。如果共振不可避免常见对策是降低该工况点的电磁力幅值调整槽型、气隙、极弧系数或者调整结构刚度改变模态频率加筋、加强圈、机壳厚度或者增加阻尼灌浆、约束阻尼层。联合仿真的价值正是让你在样机前就能判断该采取哪条路。5. 从振动跑到噪声声学扩展与联合仿真的工程校验振动响应算完离最终的噪声指标还有一步把振动转化为声压。同时整条链路要做一轮严格校验否则仿真再漂亮落到工程上也站不住。5.1 声学分析模块的设置与声网格Ansys里做声学我走的是声学模块的FEM路线建立包围电机外表面的声学网格外边界设置AML声学无限元辐射边界模拟自由场把定子或机壳表面的振动速度作为边界条件施加到声学网格的内表面然后求解声场。网格尺寸按最高关心频率对应的波长控制取每波长6个单元按声速340m/s计目标频率10kHz时单元尺寸控制在约5.7mm对1kHz以下的低频噪声单元还能更粗计算量非常友好。后处理重点关注两点距电机1m处或按标准规定的测量距离的声压级频谱以及整机声功率级的A计权值。声压级用20log10(p/p0)换算p0取2×10^-5 Pa。A计权修正低频的权重对电机高频噪声的评价影响很大报告里必须标明是否已做计权。如果只给一个未计权的总声压级客户拿回去和你A计权数据一比会以为你算错了。需要提醒的是声学网格的外形不要直接用结构网格建议圆滑过渡尖锐的棱角会引入虚假的绕射和散射效应。低成本做法是把电机外轮廓外扩一圈做一个简化的包络面既保证声学模型的收敛又不会把几何细节的噪声带进结果。5.2 工程校验里最容易被忽略的三个细节仿真链路搭完真正决定它能不能用于产品决策的是以下三个细节。第一温度的全局影响。电机运行发热后铜绕组电阻变化改变电磁力大小同时温度升高使结构刚度和阻尼变化模态频率下降。严谨的做法是先把热分析结果耦合进结构模型更新弹性模量再算模态至少在初筛阶段也要把常温模态频率计算结果下移10%到20%作为热态修正的参考带避免共振点判断过于乐观。第二预应力模态与旋转刚化。对定子侧旋转预应力的影响相对次要但如果你要覆盖转子侧的模态分析高速离心力带来的应力刚化必须考虑否则转子临界转速的预测可能偏差明显。整机NVH项目里建议把转子和定子的振动路径分开评估再在机壳层面叠加。第三汇入力矩脉动和轴向力。电磁力除了径向力波还有切向的转矩脉动和轴向不平衡磁拉力。这些分量对齿轮箱、端盖等结构敏感如果你的分析对象包含传动路径接口里最好保留这三个分量不要只导径向力否则机壳上某些方向振动会漏算。我第一版接口就只传了径向力后来对比实测发现扭矩脉动激励路径上的峰值对不上才补上了切向分量。5.3 完整复盘一次联合仿真的时间成本与精度对照拿最近跑的一个8极48槽、平台转速3000rpm、峰值扭矩工况的永磁同步电机来说一下实际效果。Jmag电磁瞬态模型网格约20万单元覆盖一个电周期512步单机运行大概10小时。接口映射加校验单个工况点约10秒加上FFT和文件生成半小时内搞定。Ansys模态和谐响应定子组件约50万单元模态取前50阶谐响应扫0到5kHz单机运行约2到3小时。声学后处理声学网格约15万单元AML边界单工况求解约40分钟。整条链路从电磁设计冻结到拿到噪声预测结果一个工况大约1.5个工作日。同样的工作如果依赖手工搬运仅仅网格映射和载荷核对就要耗掉一整天而且出错率极高。精度上拿仿真结果和样机半消声室实测对比模态频率误差控制在5%以内主要峰值频率对应准确声压级幅值误差在2dB(A)左右——对产品预研阶段这个精度已经具备决策能力。跑完这套流程后我对联合仿真最大的体会是精度上限往往不是电磁软件或结构软件决定的而是边界假设决定的阻尼参数够不够准、绕组等效质量对不对、装配约束符不符合实际。接口只是解决了通道问题物理建模的功夫还得靠工程师自己一锤一锤打磨。后续我打算把接口扩展成多工况批处理把转速-转矩MAP的电磁力全部自动导入Ansys直接输出整张NVH瀑布图到时候再和大家交流。
上一篇/下一篇内容由系统自动关联
返回资讯列表 →