在PyQt平台上开发Abaqus计算程序的指南

1 概述

PyQt平台是Qt里针对Python语言程序进行界面设计的平台,借助这个平台采用Python编程语言可以开发各种各样的程序。Abaqus的执行命令也是采用Python编写的,因此可以结合这个平台开发Abaqus计算程序,调用Abaqus执行有限元分析过程。

本次以一个平面开孔模型为例,如图1所示,设计一个程序能够通过程序界面设置相关参数并执行计算。

15.1.png

图1 平面开孔模型



2 程序界面

参数化的参数包括矩形长度w、矩形宽度h、圆的半径r、材料的弹性模量E、泊松比以及压力载荷p,并设置三个按钮:

生成脚本:利用VB生成Abaqus可以执行的脚本文件;

开始计算:启动Abaqus,调用生成的脚本文件进行有限元分析。

同时还添加了一个Label控件,用于显示图片,方便参数输入。

最终得到的程序界面如图2所示,给所有的Textbox命名,方便后台代码调用,并设置默认值。

15.2.png

图2 程序界面

这里注意一下,在Label如何插入图片?如图3所示,图上内容为Label的属性设置框,通过Pixmap可以设置图片,通过scaledContents可以调整图片适合Label控件大小。

15.3.png

图3 Label加载图片


3 功能代码

PyQt自由化设计程序界面,而编译界面的代码一般用Eric。并且在Eric里面为了编写方便通常将界面与逻辑代码分离,此操作可回看之前发的文章。

通过定义两个槽函数,分别执行脚本文件生成和启动Abaqus计算的操作。

1)代码转换

定义脚本文件的槽函数为:

self.GenerateBtn.clicked.connect(self.GeneratePy)

定义槽函数时采用write逐行输出Python命令行,在命令行中获取界面参数的内容如下:

       f.write("ww="+self.ww_lineEdit.text()+"\n")

       f.write("hh="+self.hh_lineEdit.text()+"\n")

       f.write("rr="+self.rr_lineEdit.text()+"\n")

       f.write("EE="+self.EE_lineEdit.text()+"\n")

       f.write("bb="+self.bb_lineEdit.text()+"\n")

       f.write("pp="+self.pp_lineEdit.text()+"\n")

同时,在代码里出现的任何以上参数均采用变量名代替,比如ww。

生成脚本文件同样需要打开一个py格式的文件,将嵌入进来的代码再输出到py文件中。

最终实现的功能如图4所示,生成的py文件:

15.4.png

图4 Py脚本文件


2)开始计算

启动Abaqus调用Python脚本文件在PyQt里面比较好的实现方法是利用Abaqus Command命令提示符窗口。因此,在PyQt里面只需要通过subprocess函数启动计算机里面的Abaqus Command并且在窗口输入调用语句即可。

最终即可实现参数化计算,程序界面输入参数,程序自行启动Abaqus执行计算。

当然,程序还可以结合Python对Abaqus的计算结果进行后处理,此次不作阐释。

免责声明:本文系网络转载或改编,未找到原创作者,版权归原作者所有。如涉及版权,请联系删

QR Code
微信扫一扫,欢迎咨询~

联系我们
武汉格发信息技术有限公司
湖北省武汉市经开区科技园西路6号103孵化器
电话:155-2731-8020 座机:027-59821821
邮件:tanzw@gofarlic.com
Copyright © 2023 Gofarsoft Co.,Ltd. 保留所有权利
遇到许可问题?该如何解决!?
评估许可证实际采购量? 
不清楚软件许可证使用数据? 
收到软件厂商律师函!?  
想要少购买点许可证,节省费用? 
收到软件厂商侵权通告!?  
有正版license,但许可证不够用,需要新购? 
联系方式 155-2731-8020
预留信息,一起解决您的问题
* 姓名:
* 手机:

* 公司名称:

姓名不为空

手机不正确

公司不为空