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