CMD在CAE二次开发中的应用和批处理(batch)

CMDCAE二次开发中的应用和批处理(batch)

CMD是命令提示符,在Windows系统下其执行程序是cmd.exe,在cmd窗口输入命令可以执行,cmd的命令很多,因此在软件的二次开发时也有很多的用处。

批处理(Batch),也称为批处理脚本,批处理就是对某对象进行批量的处理。

1. Abaqus

在应用Abaqus分析时,有两个格式的文件比较有用,一个是py文件,一个是inp文件。Py文件是脚本文件,记录了在Abaqus CAE界面的所有操作,inp文件是最后在生成job时准备submit 计算时产生的一个文件,也是文本文件,inp文件记录了所有在Abaqus CAE界面进行操作的结果。

很明显,这两个文件的区别是过程与结果,Py是执行命令的集合,而inp是执行结果的集合。在Abaqus里,这两个文件都可以用来执行有限元分析过程。如图1所示,为通过Input Files建立有限元分析过程的方法。

1.png

1

同样的,通过Py脚本文件建立有限元分析过程的方法前面文章已经详细说过,有几种不同的方式来Run Script,最终也能实现整个过程。

这两个过程中,不同的是执行inp文件最后只能得到结果文件,不能得到过程中的模型、载荷、材料属性等数据,而py文件则全都可以得到。

CMD在这个过程的应用也很方便。

通过CMD执行inp文件的方式如下:

CMD窗口输入:call abaqus job=jobname

同时执行几个inp文件则输入:call abaqus job=jobname1 & call abaqus job=jobname2 & call abaqus job=jobname3

当需要按照顺序执行inp文件时,即一个inp计算完成再执行下一个,那么输入:

call abaqus job=jobname1 int & call abaqus job=jobname2 int

这里应该注意,CMD执行的inp文件需要放在cmd所在的工作目录,而且执行完的输出文件也在这个工作目录,在计算机里都是C盘。

这个无疑是很不方便的,那么解决这个问题有两种方式。

第一种,指定inp文件的位置,通过cd命令打开文件夹,或者在jobname的前面指定文件位置。

第二种是通过Abaqus Command 打开,因为Abaqus CommandAbaqus的命令提示符窗口。

2. ANSYS

在对ANSYS进行外部调用时,采用其他外部语言均可以由相关的模块或者函数来启动ANSYSVBshell函数可以启动:

Shell的语法:Shell(PathName[WindowStyle])

PathName 为必需参数。类型为String,它指出了要执行的程序名,以及任何需要的参数或命令行变量,也可以包括路径名。WindowStyle为可选参数。Integer类型,指定在程序运行时窗口的样式。

Shell("C:\Windows\SysWOW64\cmd.exe /c abaqus cae nogui=pre.py & abaqus cae script=Post.py", vbNormalFocus)

上式通过Abaqus Command启动Abaqus执行Py脚本文件进行有限元分析过程,那么ANSYS同理。

 

Python语言启动ANSYS还是Abaqus也都有对应的模块或函数。

这里说一种:

p=subprocess.Popen("C:\Windows\SysWOW64\cmd.exe /k abaqus cae nogui=case_1_pre.py & abaqus cae script=case_1_post.py")

通过subprocess函数打开Abaqus Command 并且执行py脚本文件进行有限元分析;由此方法同样可以执行inp文件执行有限元分析过程。

那么,由Python启动ANSYS并且执行批处理也是一样的,可以执行。

其实,稍微总结即可知道,只要能够通过CMD启动程序并且执行软件的批处理文件,那么在外部语言的调用下,同样就可以启动软件完成相关计算分析。

登录后免费查看全文
立即登录
App下载
技术邻APP
工程师必备
  • 项目客服
  • 培训客服
  • 平台客服

TOP

1
1