曹文鋼, 范 超
?
基于HyperWorks的CAE流程自動(dòng)化系統(tǒng)設(shè)計(jì)開發(fā)
曹文鋼, 范 超
(合肥工業(yè)大學(xué)機(jī)械與汽車工程學(xué)院,安徽合肥 230009)
針對企業(yè)應(yīng)用HyperWorks進(jìn)行CAE分析時(shí)存在操作復(fù)雜和操作者需熟悉系統(tǒng)功能的問題,給出了基于HyperWorks、Process Manager和Process Studio的HyperWorks CAE流程自動(dòng)化系統(tǒng)的結(jié)構(gòu)及其開發(fā)流程,應(yīng)用Tcl/Tk程序設(shè)計(jì)技術(shù)開發(fā)出產(chǎn)品零件CAE流程自動(dòng)化系統(tǒng)。并以某零件CAE分析實(shí)例,驗(yàn)證自動(dòng)化系統(tǒng)可操作性。為產(chǎn)品設(shè)計(jì)、分析提供一種快捷方法,縮短了企業(yè)產(chǎn)品設(shè)計(jì)分析周期。對企業(yè)開發(fā)工作具有一定的指導(dǎo)意義。
計(jì)算機(jī)應(yīng)用;CAE流程系統(tǒng);程序設(shè)計(jì);系統(tǒng)開發(fā)
為滿足產(chǎn)品零件結(jié)構(gòu)合理、實(shí)用等市場要求,在產(chǎn)品設(shè)計(jì)階段利用計(jì)算機(jī)進(jìn)行CAE分析是十分必要的。目前國外一款高效實(shí)用的CAE軟件HyperWorks在產(chǎn)品開發(fā)、設(shè)計(jì)、分析中得到日益廣泛應(yīng)用。但在使用HyperWorks軟件進(jìn)行分析時(shí),操作比較復(fù)雜,且不利于企業(yè)已有使用經(jīng)驗(yàn)的傳承。因此,在保證CAE分析的正確性和精確性條件下,如何使軟件使用便捷、高效成為企業(yè)所關(guān)注的重要問題。目前國內(nèi)許多應(yīng)用HyperWorks的企業(yè)只停留在使用階段,對HyperWorks CAE流程自動(dòng)化系統(tǒng)的開發(fā)仍是空白。本文以HyperWorks的Process Studio模塊為開發(fā)環(huán)境,綜合運(yùn)用Tcl/Tk語言和HyperWorks內(nèi)置函數(shù),開發(fā)出適用性很強(qiáng)的CAE流程自動(dòng)化系統(tǒng)。詳細(xì)闡述自動(dòng)化系統(tǒng)的開發(fā)流程及其關(guān)鍵技術(shù),輔以實(shí)例分析論證其實(shí)用性和可行性,對國內(nèi)企業(yè)開發(fā)工作具有很強(qiáng)指導(dǎo)意義。
1.1 系統(tǒng)結(jié)構(gòu)
HyperWorks CAE流程自動(dòng)化系統(tǒng)結(jié)構(gòu)如圖1所示。HyperWorks提供一個(gè)標(biāo)準(zhǔn)化流程執(zhí)行工具軟件:Process Manager。它將工程師的專業(yè)知識(shí)轉(zhuǎn)化成企業(yè)CAE流程并進(jìn)行固化,最終實(shí)現(xiàn)分析流程標(biāo)準(zhǔn)化和自動(dòng)化,提高企業(yè)CAE分析的質(zhì)量和效率。利用它建立CAE分析流程標(biāo)準(zhǔn)模板,并以此模板為向?qū)?,?shí)現(xiàn)CAE分析過程自動(dòng)化。Process Manager提供與其他應(yīng)用程序的接口APIs,利用APIs控制HyperWorks內(nèi)的所有應(yīng)用軟件,如調(diào)用用于后處理的HyperView。此外,還可以利用相應(yīng)的APIs啟動(dòng)第三方軟件包和服務(wù)以及建立與它們之間的聯(lián)系和通信。Process Studio是HyperWorks編制模板模塊,利用它可將標(biāo)準(zhǔn)的CAE分析過程制成模板。每一個(gè)CAE分析過程中的操作任務(wù)都是應(yīng)用Tcl/Tk或Process Studio內(nèi)置UI模塊開發(fā)而成。如何開發(fā)是本文研究重點(diǎn)。
圖1 HyperWorks CAE系統(tǒng)結(jié)構(gòu)
1.2 系統(tǒng)開發(fā)流程
CAE流程自動(dòng)化系統(tǒng)開發(fā)流程如圖2所示。
圖2 開發(fā)流程
2.1 HyperWorks內(nèi)置命令
HyperWorks為用戶提供豐富的功能函數(shù)。主要有兩種:其一是“*”命令函數(shù),如*shrink(2);其二則是“hm”命令函數(shù),它們是Tcl/Tk Commands。如:hm_entitylist entityType listType。在HyperWorks 4.0及以后更高版本中就已嵌入了Tcl/Tk,使開發(fā)定制流程成為可能。命令函數(shù)用來實(shí)現(xiàn)與HyperMesh的DataBase通信,例如,從HyperMesh DataBase可獲取如下信息:IDs on a mark、list of assemblies、components、node values等。
2.2 Tcl/Tk程序設(shè)計(jì)技術(shù)
Tcl即Tool command language的首字母,讀作Tickle。與C++和Java語言類似,是一種腳本語言。與C++和Java相比,Tcl能方便地向應(yīng)用程序添加其解釋器。Tk是Tcl的圖形界面工具包,用于定義Tcl命令、創(chuàng)建和操縱用戶界面部件。Tk是Tcl最有用的擴(kuò)展,其所有的功能都可以通過Tcl獲得,這給了Tk很大的彈性,動(dòng)態(tài)可控性,并使得它比其他工具包功能更強(qiáng)大。Tcl/Tk易學(xué)、易用、易嵌入,在流程自動(dòng)化系統(tǒng)開發(fā)過程中,用來組織界面背后代碼,實(shí)現(xiàn)代碼間邏輯關(guān)系,實(shí)現(xiàn)CAE流程自動(dòng)化目的。給開發(fā)工作帶來極大方便。利用Tk創(chuàng)建CAE流程自動(dòng)化系統(tǒng)與用戶交互的GUIs。如圖3所示,是一個(gè)人機(jī)交互的Panel,為用戶提供參數(shù)輸入界面。
2.3 HyperWorks內(nèi)置GUI命令函數(shù)
HyperWorks內(nèi)置創(chuàng)建GUI的命令函數(shù)如:hwt::createWindow win_name ?options ?。此命令的功能是創(chuàng)建一個(gè)窗口。使用這類命令可以方便快速地開發(fā)出適用的人機(jī)交互界面。
2.4 數(shù)據(jù)庫的連接
CAE流程自動(dòng)化系統(tǒng)應(yīng)有相應(yīng)數(shù)據(jù)庫作為支撐。通常需建立材料數(shù)據(jù)庫和載荷數(shù)據(jù)庫。材料庫以材料名稱、彈性模量、密度等字段建立。為方便操作與維護(hù),可選用Ms sql 2000或Oracle作為數(shù)據(jù)庫環(huán)境。本系統(tǒng)以Ms sql 2000為環(huán)境。數(shù)據(jù)庫名稱為mydb,用戶名為user。其連接代碼為:package require tclodbc;
database connect db {DRIVER=SQLServer; SERVER=dbs1;DATABASE=mydb;Username=user};
明確產(chǎn)品零件類別,保證開發(fā)出的CAE流程自動(dòng)化系統(tǒng)最大范圍地適用企業(yè)各類產(chǎn)品CAE分析,保證CAE流程自動(dòng)化系統(tǒng)具有最大柔性,是系統(tǒng)開發(fā)首要要求。
3.1 綜合分析產(chǎn)品或零件
對產(chǎn)品或零件進(jìn)行分析有兩個(gè)要求:首先,為保證對某類產(chǎn)品或零件進(jìn)行CAE分析(模態(tài)分析、諧響應(yīng)分析等)操作正確性,必須由專業(yè)CAE人員進(jìn)行實(shí)際操作。其次,在分析時(shí)要認(rèn)真選擇好分析對象。選擇分析對象應(yīng)該遵循原則:被分析對象應(yīng)具備充分代表性,盡可能多地代表一類產(chǎn)品或零件,即在對這一產(chǎn)品或零件CAE分析時(shí),應(yīng)包括在對某類產(chǎn)品或零件CAE分析時(shí)所需全部要求。
3.2 獲取命令流
綜合分析的目的是獲取CAE操作的命令函數(shù)。用戶與HyperMesh開始會(huì)話時(shí),HyperMesh自動(dòng)記錄所有“會(huì)話”內(nèi)容,即啟動(dòng)軟件、用戶建模、單元的建立、創(chuàng)建component以及后處理等所有操作會(huì)自動(dòng)以命令流的方式記錄在command.cmf文件中。command.cmf 存在HyperMesh的工作目錄之下,若command.cmf不存在,HyperMesh會(huì)在啟動(dòng)時(shí)自動(dòng)創(chuàng)建。在Windows系統(tǒng)上設(shè)置起始目錄的步驟是:①右擊HyperMesh的桌面圖標(biāo);②從彈出的菜單中選擇Properties(屬性)菜單項(xiàng);③設(shè)置Shortcut(快捷方式)欄中的Start In(起始位置)字段中的路徑,如可設(shè)置起始路徑為:F:myCMF9.0。
command.cmf文件中命令流為:命令全部以“*”開頭,如*enablemacromenu(1);命令名稱部分直到左邊括號(hào);命令的參數(shù)是在左右括號(hào)中間,以列表的形式給出且以逗號(hào)分隔。如:*window(0,0,0,0,0)。HyperWorks識(shí)別命令時(shí),把星號(hào)“*”和左括號(hào)“(”之間的部分看作是命令名,命令名稱之后皆為參數(shù)。命令經(jīng)過相應(yīng)修改后使之符合Tcl/Tk語法,即為要獲取的命令流。如定義動(dòng)態(tài)載荷名稱的命令:*collectorcreate loadcols "$reload2" " " 5 ,其中$reload2 參數(shù)傳遞用戶在頁面中輸入的載荷名。
3.3 利用Process Studio標(biāo)準(zhǔn)化CAE流程
Process Studio是開發(fā)CAE流程自動(dòng)化系統(tǒng)的平臺(tái),是Process Manager的模塊。CAE流程自動(dòng)化系統(tǒng)在Process Manager管理下運(yùn)行,實(shí)現(xiàn)CAE流程自動(dòng)化。
3.3.1 CAE流程自動(dòng)化系統(tǒng)的文件結(jié)構(gòu)
CAE流程自動(dòng)化系統(tǒng)的文件結(jié)構(gòu)如圖4所示。
圖4 文件結(jié)構(gòu)圖
tclincludes文件夾里存放.tcl文件。.tcl文件是實(shí)現(xiàn)系統(tǒng)功能的核心部分。
3.3.2 Process Tree的建立
Process Tree每個(gè)節(jié)點(diǎn)是一個(gè)具體任務(wù),都有相應(yīng)GUI與用戶形成交互。通過GUI,用戶可以輸入?yún)?shù)以供求解計(jì)算使用。圖5所示即為求解諧響應(yīng)的Process Tree。
圖5 Process Tree
此外,還應(yīng)設(shè)置Process Tree的任務(wù)屬性見圖6。
圖6 設(shè)置任務(wù)屬性
3.3.3 GUI設(shè)計(jì)與制作
Process Tree每個(gè)任務(wù)節(jié)點(diǎn)都有相應(yīng)的GUI與之對應(yīng)。如與Input Setup節(jié)點(diǎn)相對應(yīng)GUI頁如圖7所示。
圖7 參數(shù)輸入頁面
3.3.4 utils之間數(shù)據(jù)傳遞及Tcl Script的調(diào)用
utils即Process Studio中控件總稱。它們之間可以用兩種方法實(shí)現(xiàn)數(shù)據(jù)通信:① Using Tcl Script to Write Callbacks。② Using HWPM Script to Write Callbacks。例如,要獲得一個(gè)名字為“mytext”文本框的值可以用語句:
set strValue [::hw::pmgr::PmgrGetData 0 "mytext. value"]。要調(diào)用Tcl Script,只須將腳本放在tclincludes文件夾里面,并在相應(yīng)的utils的屬性中設(shè)置所調(diào)用的Tcl Script即可。
3.4 CAE流程自動(dòng)化系統(tǒng)擴(kuò)展與完善
對所開發(fā)系統(tǒng)應(yīng)進(jìn)行測試,以進(jìn)一步完善其功能。根據(jù)某類產(chǎn)品CAE分析的共性,進(jìn)行功能擴(kuò)展,提高CAE流程自動(dòng)化系統(tǒng)的柔性,以適用于更多產(chǎn)品零件的分析。
對某汽車半軸進(jìn)行模態(tài)頻率響應(yīng)分析。根據(jù)實(shí)際工況進(jìn)行約束,施加單位載荷,其頻率范圍為0~2000Hz。用于響應(yīng)求解的頻率為20Hz開始,步長為20Hz,頻率增加次數(shù)為100次。用Lanczos法確定頻率范圍,設(shè)為1~2000Hz。選定點(diǎn)的位移―頻率圖見圖13。經(jīng)與實(shí)驗(yàn)數(shù)據(jù)分析對比,驗(yàn)證了求解正確性。
4.1 獲取命令流
用3節(jié)所述方法可獲取命令流(這里只列出修改過的一小部分):
*collectorcreate loadcols "$reload2" " "
5 ;*createmark loadcols 2 "$reload2";
hm_createmark loadcols 2 $reload2;set
id [hm_getmark loadcols 2];
*dictionaryload loadcols 2 "[hm_info exporttemplate]" "RLOAD2";
4.2 創(chuàng)建Process Tree及相應(yīng)GUI
利用Process Studio創(chuàng)建諧響應(yīng)分析流程Tree(見圖9),Tree的每個(gè)節(jié)點(diǎn)都有相應(yīng)頁面與之對應(yīng),如定義動(dòng)態(tài)載荷節(jié)點(diǎn)Define Dload與之相對應(yīng)的用戶交互界面如圖10所示。利用3.3.4節(jié)介紹的方法建立數(shù)據(jù)傳遞與函數(shù)調(diào)用關(guān)系。
4.3 系統(tǒng)運(yùn)行
系統(tǒng)在運(yùn)行過程中,面的重新劃分、線的壓縮、相鄰點(diǎn)的合并等進(jìn)一步細(xì)化清理則一般是利用HyperMesh自身的幾何清理工具來完成。現(xiàn)將系統(tǒng)運(yùn)行的主要過程介紹如下:
(1)調(diào)用CAE系統(tǒng)
為方便操作,利用宏命令將調(diào)用系統(tǒng)的按鈕添加到HyperMesh的User頁。如隨機(jī)、諧響等。如圖8所示。點(diǎn)擊相應(yīng)按鈕即可調(diào)用相應(yīng)的分析流程。
圖8 用戶(User)頁
(2)諧響應(yīng)分析系統(tǒng)界面 諧響應(yīng)系統(tǒng)流程如圖9所示。
圖9 諧響應(yīng)系統(tǒng)流程
(3)定義動(dòng)態(tài)載荷 定義動(dòng)態(tài)載荷界面如圖10所示。
圖10 定義動(dòng)態(tài)載荷界面
(4)定義頻率范圍 頻率范圍輸入界面如圖11所示。
圖11 頻率范圍輸入界面
(5)設(shè)定Lanczos法求解 Lanczos法參數(shù)輸入界面如圖12所示。
圖12 Lanczos法參數(shù)輸入界面
(6)求解結(jié)果 諧響應(yīng)分析結(jié)果如圖13所示。
圖13 諧響應(yīng)分析結(jié)果
以上功能界面所需命令流均存放于tclincludes文件夾.tcl文件中。
本文系統(tǒng)地闡述了CAE流程自動(dòng)化系統(tǒng)的開發(fā)過程與關(guān)鍵技術(shù)。通過對一個(gè)汽車半軸進(jìn)行實(shí)例分析,驗(yàn)證了CAE流程自動(dòng)化系統(tǒng)的實(shí)用性和方便性以及開發(fā)方法的可行性和有效性。對企業(yè)開發(fā)此類系統(tǒng)具有一定的參考和指導(dǎo)價(jià)值。
[1] 張勝蘭, 鄭科黎, 等. 基于HyperWorks的結(jié)構(gòu)優(yōu)化與設(shè)計(jì)技術(shù)(第1版)[M]. 北京: 機(jī)械工業(yè)出版社, 2007. 7.
[2] 王道義, 喬陶鵬, 等. Tcl/Tk組合教程(第2版)[M]. 北京: 電子工業(yè)出版社, 2001. 2.
[3] 王 堅(jiān), 金 革. Tcl/Tk和C語言的接口[J]. 計(jì)算機(jī)應(yīng)用, 2000, 20(12): 20.
[4] HyperMesh, OptiStruct and Batch Mesher. Altair HyperWorks9.0 Help [CP/OL] 2007. http://www. altair.com.cn.
[5] 劉榮軍. 有限元建模中的幾何清理問題[J].機(jī)械設(shè)計(jì)與制造, 2005, (9): 146.
Design and Development of CAE Process Automation System Based on HyperWorks
CAO Wen-gang, FAN Chao
( Shool of Mechanical and Automotive Engineering, Hefei University of Technology, Hefei Anhui 230009, China )
Aiming at sovling the problems of complexity and substantial experience needed in using HyperWorks to do CAE analysis for enterprise, the structure and development process of HyperWorks CAE process automation system is given based on HyperWorks Process Mananger and Process Studio. CAE process automation system is developed by using the Tcl/Tk programming technology. CAE analysis result of some product parts demonstrates the operability of CAE automation system. It provides a shortcut for designing and analyzing products and reduces the analysis and design cycle of the product eventually. It has a great guiding significance for enterprise development work.
computer application; CAE process system; program design; system development
TP 391
A
1003-0158(2011)01-0016-06
2009-04-15
安徽省科技攻關(guān)資助項(xiàng)目(06012141H)
曹文鋼(1957-),男,河北淶源人,副教授,碩士,主要研究方向?yàn)閿?shù)字化設(shè)計(jì)與制造,CAD,計(jì)算機(jī)圖形學(xué)。