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

CMD在CAE二次开发中的应用和批处理(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
同样的,通过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 Command是Abaqus的命令提示符窗口。
2. ANSYS
在对ANSYS进行外部调用时,采用其他外部语言均可以由相关的模块或者函数来启动ANSYS,VB的shell函数可以启动:
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启动程序并且执行软件的批处理文件,那么在外部语言的调用下,同样就可以启动软件完成相关计算分析。

工程师必备
- 项目客服
- 培训客服
- 平台客服
TOP
