丁濤,彭旺,紀(jì)緒北
Hype rMe s h二次開發(fā)在客車CAE分析前處理上的應(yīng)用
丁濤,彭旺,紀(jì)緒北
(比亞迪汽車工業(yè)有限公司,廣東深圳518118)
利用TCL語言對HyperMesh進行二次開發(fā),編寫腳本程序執(zhí)行繁瑣的重復(fù)工作,提高工作效率。本文結(jié)合客車CAE分析流程,通過二次開發(fā)腳本案例,說明HyperMesh二次開發(fā)在客車CAE分析中的重要作用。
CAE分析;二次開發(fā)前處理;TCL腳本程序
對于CAE分析前處理通用軟件HyperMesh,其支持的二次開發(fā)語言是TCL(Tool Command Language),用戶可以根據(jù)自己所要實現(xiàn)的功能編寫相應(yīng)的TCL代碼,然后在HyperMesh中運行即可。TCL是一種腳本語言(Scripting Language),由John K.Ousterhout Ken Jones創(chuàng)建[1-2]。TCL易學(xué)且功能強大,經(jīng)常被用于快速原型開發(fā)、腳本編程、GUI和測試等方面[3-4]。用戶可以利用其創(chuàng)建很多特定的界面從而滿足多樣化的需求,而且可以根據(jù)自己的需求在短時間內(nèi)開發(fā)出大量的應(yīng)用程序。與其它語言相比,在實現(xiàn)相同的功能的前提下,其具有開發(fā)時間短、所寫代碼數(shù)量少等特點。TCL適于快速開發(fā)的另外一個原因在于它是解釋語言。使用TCL程序時,可以在運行中生成和使用新的腳本,而無需重新編譯和重啟應(yīng)用程序,這使得可以迅速嘗試新的想法,迅速修正程序中的錯誤[5]??蛙嘋AE分析前處理中所要進行的幾何清理、實體抽中面等工作比較繁瑣。對于整車分析而言,工程師處理起來任務(wù)量過大。對HyperMesh利用TCL語言進行有針對性的二次開發(fā)來提高工作效率,減輕工程師的勞動強度顯得非常必要。
在客車的設(shè)計研發(fā)中,通常會進行大量的CAE模擬仿真計算輔助客車的設(shè)計,從而極大縮短研發(fā)周期和節(jié)約成本。客車的CAE分析通常有整車強度分析、整車側(cè)翻分析、頂壓分析、整車碰撞分析等。一般地,對客車CAE分析的前處理在HyperMesh中進行比較方便可行。在HyperMesh中,客車CAE分析前處理的步驟通常包括幾何數(shù)據(jù)模型導(dǎo)入、實體抽取中面分組(骨架為薄壁結(jié)構(gòu),可利用板殼單元模擬計算則需要抽取中面)、幾何清理(針對抽取的中面進行修補)、網(wǎng)格劃分、焊接鉚接模擬鏈接、材料屬性賦予、拋撒質(zhì)量點(整車有限元模型建立時將質(zhì)量點附著在車身骨架的方式達(dá)到整車配重的目的)、邊界載荷設(shè)置等步驟。圖1是客車CAE分析前處理的流程圖。
客車骨架多而且雜,材料種類也相對繁多,型材各式各樣。在做CAE分析前處理的時候,就存在著巨大的工作量??蛙嘋AE分析中幾乎所有的前處理工作看起來都可以采用TCL語言二次開發(fā)的模式來完成,對于每個步驟可以編寫相應(yīng)的模塊讓計算機來解放工程師繁重的勞動量。
2.1HyperMesh簡介
HyperMesh是一款強大的CAE前處理軟件,提供了功能豐富的二次開發(fā)接口。用戶可以通過它提供的API函數(shù)或Hm命令來編制程序以實現(xiàn)所需的功能[6]。在HyperMesh前處理軟件中,在菜單欄Utility中的User面板中,提供了可供用戶自己開發(fā)創(chuàng)建按鈕的區(qū)域,按鍵的創(chuàng)建需要遵循軟件設(shè)定的規(guī)則。
一般地,每一個創(chuàng)建成功了的按鈕都可以調(diào)用相應(yīng)的宏命令或腳本文件。二次開發(fā)人員只需要將已經(jīng)寫好的腳本文件與按鈕按照一定的規(guī)則聯(lián)系起來。當(dāng)點擊按鈕時,HyperMesh前處理軟件就會自動地按照用戶的意愿運行下去。在運行HyperMesh軟件時,用戶的每一步操作都會被記錄在command.cmf文件中。二次開發(fā)人員在定制屬于自己分析的腳本程序時,可以取用儲存在command.cmf文件中相應(yīng)的命令,然后將腳本與按鈕通過宏命令聯(lián)系起來,這樣一個特定的模塊也就產(chǎn)生了。
2.2前處理腳本程序
根據(jù)客車CAE前處理的特點,對材料分組、焊接鉚接模擬、拋撒質(zhì)量點、材料屬性創(chuàng)建等在HyperMesh中進行了二次開發(fā)。針對它們編寫了相應(yīng)的腳本程序,實現(xiàn)了在HyperMesh前處理中自動對客車骨架進行材料分組、自動對骨架進行焊接鉚接模擬、拋撒質(zhì)量點的自動化、自動賦予材料屬性。用戶在進行CAE的各種分析前處理時,均可以使用這些腳本程序來進行有限元模型建模,極大地提高了CAE分析建模的效率。對比手工建模和腳本編程自動化建模的時間,使用流程建模的時間僅是手工建模時間的22%[7]。
通常,客車CAE建模時會利用拋撒質(zhì)量點的方式對有限元模型進行配重。為了盡可能地使建立的有限元模型質(zhì)心與結(jié)構(gòu)設(shè)計一致,拋撒質(zhì)量點往往要求準(zhǔn)確,這樣就極大地影響了工程師的效率。下面對客車CAE分析前處理中的拋撒質(zhì)量點的腳本程序作為案例進行介紹。
1)拋撒質(zhì)量點邏輯。拋撒質(zhì)量點自動化即是讓工程師的繁復(fù)的測量計算等讓計算機依照程序完成,工程師只需要選定需要拋撒質(zhì)量點的區(qū)域、輸入需要拋撒的質(zhì)量、輸入對應(yīng)存放質(zhì)量點的component的名稱即可。在腳本程序運行的過程中,若出現(xiàn)輸入錯誤,程序則會預(yù)警返回。拋撒質(zhì)量點運行的邏輯如圖2所示。
2)拋撒質(zhì)量點腳本程序。對于機械行業(yè)CAE分析工程師來說,TCL也是一種重要的工具語言。很多CAE分析軟件的深入應(yīng)用都離不開TCL語言[8]。HyperMesh的二次開發(fā),就是將命令用TCL按照一定邏輯串聯(lián)起來,形成一個命令腳本。這樣前處理過程只需要調(diào)用此腳本即可[9]。下面是針對客車前處理中拋撒質(zhì)點步驟編寫的腳本程序。
在程序中,#是注釋符,TCL編譯器不會執(zhí)行以#開頭的語句。帶*的語句是HyperMesh格式命令,Hyper-Mesh在讀入腳本后會把這些命令轉(zhuǎn)化為HyperMesh的動作過程[7]。
3)拋撒質(zhì)量點程序操作步驟。對HyperMesh進行二次開發(fā)的初衷是簡化CAE工程師的操作步驟和工作量、便于標(biāo)準(zhǔn)化[10]。如果新編寫的二次開發(fā)程序?qū)嶋H操作步驟沒有簡化或減少,實際上就沒有達(dá)到目的,更談不上提高工作效率了。一個相對合理的二次開發(fā)程序要求執(zhí)行效率高,操作簡單方便快捷。如果新開發(fā)的程序操作繁瑣、效率低,那就要對程序進行優(yōu)化了。
對于前處理中拋撒質(zhì)量點來說,找到拋撒質(zhì)量點的區(qū)域、輸入拋撒質(zhì)量的數(shù)值、給定存放質(zhì)量點的component名稱是必要的,其余均可省略,讓計算機為工程師代勞。因此,拋撒質(zhì)量點操作步驟依次為(a)點擊拋撒質(zhì)量點快捷按鈕;(b)選定拋撒質(zhì)量點的區(qū)域;(c)輸入拋撒質(zhì)量的數(shù)值;(d)給定存放質(zhì)量點的component名稱。圖3(a)-(d)是拋撒質(zhì)量點程序的軟件操作步驟。
利用拋撒質(zhì)量點模塊進行客車車輛的配重,使得工作量得到很大減輕。程序自動計算每個質(zhì)量點的大小、自動創(chuàng)建存放質(zhì)量點的component、自動將存放質(zhì)量點的component移送至assembly(mass)里面去,中間省略很多環(huán)節(jié),極大提升配重效率。圖4是利用拋撒質(zhì)量點程序完成的質(zhì)量配重模型界面效果。
TCL二次開發(fā)可以很方便地在HyperMesh中完成許多批處理工作,大大降低工作強度。在客車CAE分析的前處理當(dāng)中,有著許多需要批次處理和簡化的工作步驟,利用二次開發(fā)手段,不僅為工程師提高了工作效率,更使得許多年輕的工程師也能快速掌握CAE分析的相關(guān)步驟,從而保證了項目的節(jié)點。對于客車CAE工程師來說,巧妙地利用好這一工具,實現(xiàn)CAE分析過程的自動化和標(biāo)準(zhǔn)化,有著非常重要的作用和意義。
[1]John K Outsterhout,Tcl and the Tk Toolkit[M].Addison-Wdsley PublishingCompany,1994.
[2]Brent Welch.Practical Programming in Tcl and Tk[M].Prentice Hall,1995.
[3]張學(xué)工,劉業(yè)新.X Window/MOTIF編程速成[M].北京:清華大學(xué)出版社,1998.
[4]崔鴻,李全福.基于TCL語言的外殼語言實現(xiàn)方法[J].計算機工程,2005,(B07):133-134.
[5]John K.Ousterhout Ken Jones.TCL/TK入門經(jīng)典[M].北京:清華大學(xué)出版社,2010.
[6]宋杰.基于HyperMesh的增強功能鏡像工具開發(fā)[J].民用飛機設(shè)計與研究,2010,(3):57-61.
[7]霍福祥,董嘉林,武斌.流程自動化提高發(fā)動機仿真建模效率[C].2007 Altair大中國區(qū)用戶技術(shù)大會論文集,2007.
[8]屈曉峰.基于TCL語言的HyperMesh平臺二次開發(fā)范例[C]. Altair 2010 HyperWoks技術(shù)大會論文集,2010.
[9]王昌勝.HyperMesh二次開發(fā)在車門抗凹和下垂的應(yīng)用[C]. Altair 2010 HyperWoks技術(shù)大會論文集,2010.
[10]曹文剛,范超.基于HyperWorks的CAE流程自動化系統(tǒng)設(shè)計開發(fā)[J].工程圖學(xué)學(xué)報,2011,(1):16-21.
修改稿日期:2015-06-18
Application of HyperMesh Secondary Development to Bus/Coach CAE Analysis Pre-treatment
DingTao,PengWang,Ji Xubei
(BYDAutomobile IndustryCo.,Ltd,Shenzhen 518118,China)
TCL language can be used to do secondary development to HyperMesh,and script programs can be created to execute many and complex repeated tasks,which can increase working efficiency.In combination with CAE analysis process ofbuses/coaches,the authors elaborate the importance ofsecondarydevelopment to HyperMesh in CAE analysis process ofbuses/coaches through the example ofscript secondarydevelopment.
CAE analysis;secondarydevelopment pre-treatment;TCLscript program
U469.1;TP391.72
B
1006-3331(2015)06-0047-03
丁濤(1986-),男,碩士;結(jié)構(gòu)分析工程師;主要從事新能源客車結(jié)構(gòu)分析工作。