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