基于Abaqus的VB计算程序开发实践

1 概述

Python脚本文件可以用来编写Abaqus执行有限元分析过程,而VB则可以生成Python脚本文件,结合两者即可实现Abaqus计算程序的开发。

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

微信图片_20170714154215.png

图1 平面开孔模型



2 程序界面

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

代码转换:将Python文件编译成可以直接嵌入在VB里面;

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

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

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

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

微信图片_20170714154221.jpg

图2 程序界面




3 功能代码


1)代码转换

双击代码转换按钮,进入代码编辑页面,该段代码需要打开已经存在的input_1.txt文件,并且逐行读取里面的内容,然后在每行字符串添加一些字符,输出到output_1.txt文件中。

Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click

Dim input As Integer

Dim output As Integer

input = 1

output = 2

FileOpen(input, 工作目录.Text & "\input_1.txt", OpenMode.Input)

FileOpen(output, 工作目录.Text & "\output_1.txt", OpenMode.Output)

Dim data As String

data = ""

Do While Not EOF(1)

data = LineInput(input)

PrintLine(output, "PrintLine (input,""" & data & """)")

'PrintLine(output, "f.write(""" & data & "\n" & """)")

Loop

FileClose(1)

FileClose(2)

End Sub



最终实现的功能如图3所示。

微信图片_20170714154226.jpg

图3 代码转换


2)生成脚本

第一步操作中得到转换后的代码直接嵌入VB里面,并且将需要界面输入的参数进行替换,替换如下:

PrintLine(input, "ww=" & 矩形长度.Text)

PrintLine(input, "hh=" & 矩形宽度.Text)

PrintLine(input, "rr=" & 圆的半径.Text)

PrintLine(input, "EE=" & 弹性模量.Text)

PrintLine(input, "bb=" & 泊松比.Text)

PrintLine(input, "pp=" & 压力.Text)

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

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

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

微信图片_20170714154237.jpg

图4 Py脚本文件



3)开始计算

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

Private Sub 开始计算_Click(sender As Object, e As EventArgs) Handles 开始计算.Click

Dim exe As String

exe = "C:\Windows\SysWOW64\cmd.exe /c abaqus cae nogui=" & 工作目录.Text & "\script.py"   '文件夹不能有空格

Shell(exe, vbNormalFocus)

End Sub

定义了一个字符串变量,获取Abaqus Command的位置,并且输入语句:

abaqus cae nogui=script.py.

这里有两个地方需要注意:1)脚本文件所在的工作目录不许存在空格,否则无法调用;2)如果Abaqus Command的位置和脚本文件位置不在一起,需要指定脚本文件的具体位置。


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

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

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

* 公司名称:

姓名不为空

手机不正确

公司不为空