点击此处查看 ✿水哥原创ANSYS视频教程清单 ✿
水哥专属答疑服务已开通,点此此处查看详情
最近有同学遇到ANSYS批量计算的问题,水哥今日就总结下ANSYS如何进行批量计算,并介绍Python语言在处理这方面问题的使用方法,同时提供本文所用案例源文件以及Python源代码,方便同学们自己调试,下载链接位于文章最后。
有的时候我们可能需要面临这种情况:手上需要运行很多个命令流,并且每次运行完毕后,需要提取关键性结果以做对比分析,然而如果我们每次手动去打开ANSYS然后输入命令流运行操作,这样就会浪费掉大量时间,要解决这种难题就需要ANSYS的批量计算操作了。ANSYS批处理同传统GUI操作界面一个最大的区别是软件在批处理过程中不在显示模型的具体情况,而直接调用MAPDL在后台运行,能极大的避免显示资源的浪费,故而其运算速度要比GUI界面较快。这种方式还有一个好处便是在GUI界面弹出需要使用者点击确认的操作 采用批处理后便会自动采用默认操作,其警告信息之类用户可在err文件中查询。
由于有如上好处,批处理广泛用于ANSYS的二次开发中,特别是图形界面二次开发。
本文演示案例如下:某悬臂梁,初始截面尺寸为100×300,长度为3m,现分别按照截面尺寸增加10mm,长度增加100m的速度分别计算30次,输出每一次计算完毕后的结果Y方向位移云图以及提取每次计算完毕后结构的最大位移。
Python运行过程截图,下方红色框中内容即为每次运行完毕后提取的最大位移值,通过将值提取存在数组中,便可利用Python进行其他方面的研究。
1、打开APDL Product Launcher
2、设置证书方式为Batch模式,同时设置工作目录,以及批处理宏文件所在的文件夹以及求解信息输出文件夹,这里建议都放在一个目录中。
3、设置完毕后,点击上方Tools>Display Command Line,将下方红框中的内容进行复制,该内容即为我们调用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”
-i后面的内容表示输入文件的地址及具体文件宏文件名
获取上述批处理命令后,即形成了一个批次文件,这个批次文件可以有两种方法运行:
1)第一种方法,直接按下键盘win+r,输入cmd,打开windows窗口,直接输入上述批次命令,即可运行,在指定的工作目录下即可看到相应的产生文件,例如DB文件,RST文件等。
2)第二种方法,新建一个txt文档,将上述命令行复制到txt文档中,然后修改后缀名为Bat格式,双击即可运行该批次了。
正如有同学会有疑问,上面的操作只是形成了一个批次,如果实现批次计算,也即自定义次数计算,每次计算命令流都不同,该如何操作呢?
这就涉及到需要第三方语言来控制了,例如常见的Matlab、C++、Python等,今天就简单介绍下如何基于Python语言来调用批处理文件,也即本文比较重要的内容了。
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结构院
欢迎给网站捐助,您的捐助是我坚持下去的动力!
暂无评论内容