如何利用Python语言对ANSYS进行批量计算

Please Share Us

点击此处查看 ✿水哥原创ANSYS视频教程清单 ✿

水哥专属答疑服务已开通,点此此处查看详情

最近有同学遇到ANSYS批量计算的问题,水哥今日就总结下ANSYS如何进行批量计算,并介绍Python语言在处理这方面问题的使用方法,同时提供本文所用案例源文件以及Python源代码,方便同学们自己调试,下载链接位于文章最后。
本文内容提纲:
1、ANSYS批处理基本概念
2、批处理实现方式及参数解读
3、Python如何调用ANSYS
4、悬臂梁案例批处理实现具体过程演示
一、ANSYS批量处理基本概念
有的时候我们可能需要面临这种情况:手上需要运行很多个命令流,并且每次运行完毕后,需要提取关键性结果以做对比分析,然而如果我们每次手动去打开ANSYS然后输入命令流运行操作,这样就会浪费掉大量时间,要解决这种难题就需要ANSYS的批量计算操作了。ANSYS批处理同传统GUI操作界面一个最大的区别是软件在批处理过程中不在显示模型的具体情况,而直接调用MAPDL在后台运行,能极大的避免显示资源的浪费,故而其运算速度要比GUI界面较快。这种方式还有一个好处便是在GUI界面弹出需要使用者点击确认的操作 采用批处理后便会自动采用默认操作,其警告信息之类用户可在err文件中查询。
由于有如上好处,批处理广泛用于ANSYS的二次开发中,特别是图形界面二次开发。
本文演示案例如下:某悬臂梁,初始截面尺寸为100×300,长度为3m,现分别按照截面尺寸增加10mm,长度增加100m的速度分别计算30次,输出每一次计算完毕后的结果Y方向位移云图以及提取每次计算完毕后结构的最大位移。
批量提取的结果云图:

图片[1]-如何利用Python语言对ANSYS进行批量计算-峰设教育

Python运行过程截图,下方红色框中内容即为每次运行完毕后提取的最大位移值,通过将值提取存在数组中,便可利用Python进行其他方面的研究。

图片[2]-如何利用Python语言对ANSYS进行批量计算-峰设教育

二、批处理实现方式及参数解读
ANSYS实现批处理准备工作如下:
1、打开APDL Product Launcher

图片[3]-如何利用Python语言对ANSYS进行批量计算-峰设教育

2、设置证书方式为Batch模式,同时设置工作目录,以及批处理宏文件所在的文件夹以及求解信息输出文件夹,这里建议都放在一个目录中。
图片[4]-如何利用Python语言对ANSYS进行批量计算-峰设教育
3、设置完毕后,点击上方Tools>Display Command Line,将下方红框中的内容进行复制,该内容即为我们调用ANSYS进行批处理计算的命令格式。
图片[5]-如何利用Python语言对ANSYS进行批量计算-峰设教育
图片[6]-如何利用Python语言对ANSYS进行批量计算-峰设教育
下面就简单介绍下该命令格式的基本内容,例如此处复制的内容如下:
“D:ANSYS19.0ANSYS Incv190ansysbinwinx64MAPDL.exe”  -p ansys -np 2 -lch -dir “D:ANSYS3” -j “ty01” -s read -l en-us -b -i “D:ANSYS3ty01.mac” -o “D:ANSYS3file.out”   
-p后面的内容表示所选择证书类型
-dir后面的内容表示工作目录
-j后面的内容表示工作文件名称
-s表示模式为read
-l后面的内容表示语言环境
-i后面的内容表示输入文件的地址及具体文件宏文件名
-o后面的内容表示信息输出的文件夹地址
获取上述批处理命令后,即形成了一个批次文件,这个批次文件可以有两种方法运行:
1)第一种方法,直接按下键盘win+r,输入cmd,打开windows窗口,直接输入上述批次命令,即可运行,在指定的工作目录下即可看到相应的产生文件,例如DB文件,RST文件等。
图片[7]-如何利用Python语言对ANSYS进行批量计算-峰设教育

图片[8]-如何利用Python语言对ANSYS进行批量计算-峰设教育

2)第二种方法,新建一个txt文档,将上述命令行复制到txt文档中,然后修改后缀名为Bat格式,双击即可运行该批次了。

图片[9]-如何利用Python语言对ANSYS进行批量计算-峰设教育

正如有同学会有疑问,上面的操作只是形成了一个批次,如果实现批次计算,也即自定义次数计算,每次计算命令流都不同,该如何操作呢?
这就涉及到需要第三方语言来控制了,例如常见的Matlab、C++、Python等,今天就简单介绍下如何基于Python语言来调用批处理文件,也即本文比较重要的内容了。
三、Python如何调用ANSYS
Python语言作为一种解释类语言,简单易上手,下面介绍Python语言如何调用ANSYS总的说来,有三种方式可供大家选择:
1)采用subprocess模块调用,此模块通过输入的上述批处理命令直接调用cmd工作台,这也是较为普遍的一种方式,但这种方式极易崩溃,容易出错:
2)将上述批处理命令存为Bat文件,利用os模块的system函数直接调用,该方法稳定,修改也较为方便,水哥推荐这种;
3)利用第三方函数包pvansys,这个函数包类似MAPDL后台,可以在python中输入命令来间接运行MAPDL,但很多情况其实没必要,且该函数包对Pvthon版本限制要求严格,环境配置较为繁琐。
前面两种方法也是其他语言调用的基本思路,其中第二种方法也即运行bat文件较为可靠,如果有其他同学采用的非Python语言,也可以考虑需求相应的运行bat文件的函数,python语言基本格式如下:
import os
filename='ANSYSBatch.bat
filepath='D:/ANSYS3/
file=filepath+filename
os.chdir(filepath)
os.system(file)

上述代码中,filename表示批处理文件名称,filepath表示存放批处理文件的地址,最后利用system函数调用批处理文件。
四、悬臂梁案例批处理实现具体过程演示
接下来便详细阐述前文案例实现方法,供同学们参考,具体步骤如下:

 

欢迎扫描如下二维码关注本站微信公众号:ANSYS结构院

有时间麻烦帮忙点击下公众号文末的广告哦, 权当码字的辛苦费,感谢大家!

Please Share Us
如何利用Python语言对ANSYS进行批量计算-峰设教育
如何利用Python语言对ANSYS进行批量计算
此内容为付费阅读,请付费后查看
R6
立即购买
您当前未登录!建议登陆后购买,可保存购买订单
付费阅读
已售 23
© 版权声明
THE END
喜欢就支持一下吧
点赞0赞赏 分享
评论 抢沙发
头像
欢迎您留下宝贵的见解!
提交
头像

昵称

取消
昵称表情代码

    暂无评论内容

YOU MAY LIKE…