首页/文章/ 详情

1 段 Python 脚本,自动化完成ANSYS Mechanical风扇前八阶模态分析

1小时前浏览33

大家好,我是小郭老师,毕业于中科院,在仿真软件二次开发方面有着一定的经验,今天继续给大家分享ANSYS二次开发方面的干货。


在最近几篇文章中,我发起了关于大家最感兴趣的ANSYS二次开发主题调研,发现大家对参数化控制非常感兴趣。

于是,今天就接着上一篇文章的内容,聚焦Mechanical参数化脚本应用场景,以轴流式三叶片电风扇模态分析为案例,详细讲解如何通过 Python 脚本一步步实现Mechanical模态分析。之后的文章,后续还将推出更多参数化控制命令(如网格参数化、载荷参数化等),希望大家多多支持。

当然,如果大家有不一样的ANSYS二次开发需求,非常欢迎填写以下问卷,我会优先针对大家的实际问题制作教程。

image.png

一、需求描述

image.png

某轴流式三叶片电风扇动平衡性良好、出风量大,不易共振,可避免扇叶或轴心振动引发的疲劳断裂。

  1. 材料:聚乙烯

  2. 载荷条件:轴孔为固定约束

试:对三片扇叶开展前八阶模态分析

二、关键脚本解析

1、环境清理模块(实用价值:避免历史数据干扰)

image.png

二次开发中,脚本常需重复运行(如修改参数后重新分析),若不清理历史数据,会导致「新约束叠加旧约束」「网格重复生成」等问题。

此段代码通过遍历关键对象类型,确保每次运行都从「干净环境」开始。

2、材料批量分配函数

image.png

Q1: 为什么加「材料存在性校验」?

A1: 工程中常遇到「脚本运行到一半因材料缺失报错」的情况,此逻辑提前拦截问题,并给出解决方案(补充 Engineering Data),避免无效计算。

Q2: 为什么用「模糊匹配(geo_name in body.Name)」?

A2: 实际建模时,几何体名称可能带后缀(如 “Fan_1”“Fan_copy”),模糊匹配确保只要名称含 “Fan” 就能正确分配材料,提高脚本兼容性。

3、命名选择与约束施加(工程细节:精准定位约束位置)

image.png

风扇模态分析的约束位置是轴孔(固定端),传统手动选择易选错边。

脚本通过「Z 坐标最小」自动定位轴孔边缘(建模时轴孔通常在 Z 最小处),确保约束位置 100% 准确,解决 “因约束错误导致模态结果失真” 的工程问题。

4、求解与后处理(效率提升:自动生成全阶结果)

image.png

CreateResultsAtAllSets()的作用时自动生成所有阶次的振型云图,避免手动点击 “Evaluate All Results”,节省后处理时间。

三、完整脚本

image.png

image.png

image.png

image.png

四、应用延伸:脚本复用与拓展

1、适配多规格风扇:若需分析不同叶片数量(如 4 叶、5 叶)的风扇,只需修改mat2geo_dict中的键(如{"Fan_4": "Polyethylene"}),并调整命名选择的定位逻辑(如轴孔在 Z 最大处,改Operator为Largest)。

2、结果自动导出:补充代码deformation.ExportToTextFile(...),将前 8 阶固有频率自动写入文本,避免手动记录数据的误差。

3、Workbench & Mechanical脚本联合应用:结合之前文章所讲,实现从Workbench界面直接后台调用Mechanical、执行Mechanical脚本。

...

五、结语

看完这篇,是不是觉得 ANSYS 二次开发没那么难。如果你也在为ANSYS Mechanical模态分析命令而头疼,不妨试试这个脚本。

此外,在使用过程中遇到代码报错、需求调整等问题,欢迎在评论区留言,我会一一解答。后续还会分享更多 ANSYS 二次开发的实战技巧,敬请关注。


点击阅读原文,立即学习《ANSYS Workbench & Mechanical企业级二次开发程序与Python应用入门进阶》,掌握ANSYS Workbench & Mechanical的脚本自动化开发能力。

代码&命令二次开发Mechanical
著作权归作者所有,欢迎分享,未经许可,不得转载
首次发布时间:2025-11-11
最近编辑:1小时前
小郭老师
硕士 小郭老师,精通ANSYS开发
获赞 35粉丝 6文章 5课程 2
点赞
收藏
作者推荐
未登录
还没有评论
课程
培训
服务
行家
VIP会员 学习计划 福利任务
下载APP
联系我们
帮助与反馈