周恒, 王慧, 楊樹森, 楊高勝, 邵鵬程, 楊光
(武漢船舶設(shè)計(jì)研究院有限公司,武漢430063)
CAE(Computer Aided Engineering)計(jì)算機(jī)輔助工程如今在實(shí)際工程上有廣泛的應(yīng)用,即對(duì)結(jié)構(gòu)進(jìn)行有限數(shù)目的離散化,開展模型的建模和有限元仿真計(jì)算,能夠有效地幫助工程人員進(jìn)行相關(guān)的設(shè)計(jì)研究。ANSYS作為當(dāng)前市場(chǎng)主流CAE軟件,能夠開展結(jié)構(gòu)、流體、電磁、聲場(chǎng)等多個(gè)專業(yè)的計(jì)算,廣泛地應(yīng)用于航空航天、汽車、船舶、機(jī)械制造等相關(guān)領(lǐng)域,在科研生產(chǎn)中具有較大的優(yōu)越性[1-3]。
船體結(jié)構(gòu)作為一個(gè)復(fù)雜的大型水面建筑,涉及到的船型和構(gòu)件種類較多。在傳統(tǒng)的ANSYS經(jīng)典界面采用GUI (圖形用戶界面Graphical User Interface)建模,會(huì)耗費(fèi)工程人員大量的時(shí)間精力。特別是針對(duì)局部結(jié)構(gòu)的修改時(shí),前處理功能顯得十分繁瑣,重復(fù)工作量較多。ANSYS自帶APDL(ANSYS Parametric Design Language )語言,可以將模型參數(shù)化,提高工作效率。目前已有相關(guān)人員對(duì)ANSYS軟件在起重機(jī)[4]、螺栓[5]、液壓[6]等領(lǐng)域進(jìn)行了二次開發(fā)的嘗試[7]。本文主要針對(duì)船體艙段結(jié)構(gòu),利用VB(Visual Basic)開發(fā)工具[8-9],對(duì)ANSYS mechanical模塊進(jìn)行二次開發(fā),實(shí)現(xiàn)船體結(jié)構(gòu)的快速幾何建模、網(wǎng)格劃分、材料賦予、構(gòu)件選擇等操作。使得后期船體結(jié)構(gòu)模型的修改和局部調(diào)整變得簡(jiǎn)單方便,為結(jié)構(gòu)優(yōu)化設(shè)計(jì)節(jié)省大量時(shí)間。二次開發(fā)軟件能夠針對(duì)一系列的船型,進(jìn)行數(shù)據(jù)輸入,實(shí)現(xiàn)通用化建模,即使沒有ANSYS使用基礎(chǔ)的人員,通過二次開發(fā)軟件界面,也能夠快速完成有限元模型。
通過收集相關(guān)的船型資料,針對(duì)300~500 t的運(yùn)輸船、旅游船等進(jìn)行方案驗(yàn)證,歸納出船舶典型艙段的結(jié)構(gòu)特征,提取相關(guān)主要參數(shù),確定建模思路,完成程序控制操作,實(shí)現(xiàn)參數(shù)驅(qū)動(dòng)化建模。通過VB中字符和數(shù)組命令,實(shí)現(xiàn)參數(shù)的調(diào)用、表格嵌套和界面按鈕添加等功能,完成VB和APDL兩種語言的接口調(diào)試,形成用戶使用界面。
圖1 軟件二次開發(fā)流程
主要針對(duì)船體艙段處的結(jié)構(gòu)模型,常規(guī)的橫剖面為U形和V形的船型開展結(jié)構(gòu)建模的工作。各船的肋距在500~750 mm之間不等。船體結(jié)構(gòu)形式包括橫骨架式和縱骨架式、單層底和雙層底等船型。包含了甲板縱骨、甲板縱桁、甲板橫梁、舷側(cè)縱桁、船底肋板、中內(nèi)龍骨、旁內(nèi)龍骨等型材。常常采用角鋼、T型材、球扁鋼等作為支撐骨架。
如表1所示,以4種不同類型的船舶結(jié)構(gòu)為參考,提取肋距、板厚、艙壁位置、大開口位置、加強(qiáng)結(jié)構(gòu)、型線值等關(guān)鍵信息,轉(zhuǎn)化為相關(guān)參數(shù)變量,通過APDL語言的編制,完成模型。
表1 不同船體艙段模型的相關(guān)參數(shù)
嘗試兩種不同的建模方法,并進(jìn)行優(yōu)化對(duì)比?!爸苯臃ā笔歉鶕?jù)圖樣通過“描點(diǎn)”,直接用點(diǎn)點(diǎn)面的形式,將模型展現(xiàn)出來,建模過程可以做到精細(xì)化,但是通用性較差。對(duì)于需要進(jìn)行變動(dòng)的模型,程序語言需要重新調(diào)試,工作量較大。“分組法”可以結(jié)合船舶專業(yè)中的型值表,并在每站肋位上建立橫剖面的幾何模型,預(yù)留縱剖面位置。通過不同的小組劃分,在各個(gè)group中實(shí)現(xiàn)結(jié)構(gòu)屬性和構(gòu)件形式的選擇。它的不足之處對(duì)于較精細(xì)的結(jié)構(gòu)不能詳盡地表達(dá)出來,但是針對(duì)不同船型和不同的結(jié)構(gòu)實(shí)現(xiàn)快速的建模和修改功能。
對(duì)船體艙段結(jié)構(gòu)開展有限元建模工作,對(duì)于局部細(xì)微結(jié)構(gòu)往往可以進(jìn)行簡(jiǎn)化處理。考慮到二次開發(fā)軟件對(duì)通用性要求較高,因此本項(xiàng)目中采用分組法的思路編制APDL語言更優(yōu)。
圖2 采用APDL建模的不同方法對(duì)比
從ANSYS中的APDL語言到VB語言中的參數(shù)接口,需要常用的命令進(jìn)行程序的編制。
在APDL語言中,由點(diǎn)到線到面,中間的過程還涉及到大量的點(diǎn)的循環(huán)命令,曲線的鏈接、切割,幾何的分組和選擇,以及賦屬性等參數(shù)命令。
同理,在VB語言中需要進(jìn)行文本參數(shù)的調(diào)用、表格的嵌套、界面按鈕的添加、數(shù)據(jù)的插入和ANSYS語句的連接等工作。
表2 APDL關(guān)鍵命令
表3 VB程序中關(guān)鍵命令
根據(jù)船體結(jié)構(gòu)中常用的構(gòu)建形式在VB窗口中完成船舶的型材庫,通過Excel表格的嵌套和輸入功能,實(shí)現(xiàn)船體型線的直接導(dǎo)入操作。具體的實(shí)現(xiàn)原理如圖3所示。
圖3 接口的形成
本軟件可適用于Windows XP系統(tǒng)和Win7等常用操作系統(tǒng),在單機(jī)上運(yùn)行。雙擊桌面圖標(biāo)(如圖4),進(jìn)入軟件滾動(dòng)界面(如圖5)。
圖4 桌面圖標(biāo)和軟件開啟滾動(dòng)界面
圖5 主要參數(shù)界面
界面頁數(shù)可根據(jù)船體艙段大小進(jìn)行增減。主要分為主尺度、材料庫、型值表導(dǎo)入、構(gòu)建定位、模型創(chuàng)建等頁面板塊。
軟件分為頂層菜單欄,包括“文件”、“編輯”、“視圖”等常用下拉菜單。在“幫助”文檔中,可以查看軟件的使用方法。
實(shí)現(xiàn)過程如下:
1)進(jìn)入主頁面,輸入船體艙段的主要參數(shù)和板的厚度尺寸、肋位間距、主要艙壁位置等信息。
2)通過材料庫輸入主要材料參數(shù)和選擇相關(guān)的型材規(guī)格,如圖6所示。
3)在EXCEL表中按照提示輸入船體型值,導(dǎo)入界面,如圖5所示。
4)設(shè)置船體艙段的其他位置參數(shù),如圖7所示。
5)根據(jù)軟件窗口提示的相關(guān)信息,輸入關(guān)鍵參數(shù)后,可以點(diǎn)擊“創(chuàng)建模型”,進(jìn)行建模。并在相關(guān)的保存路徑中找到生成的db有限元模型文件。
通過二次開發(fā)軟件可以快速地創(chuàng)建有限元模型,通過相關(guān)參數(shù)在界面的修改,可以方便地完成模型的重建。圖8所示是4種船型通過在界面輸入?yún)?shù)完成建模的結(jié)果展示。
圖6 材料規(guī)格設(shè)置
圖7 位置參數(shù)的設(shè)置
圖8 利用開發(fā)軟件生成的不同艙段模型
通過軟件完成模型建立后,進(jìn)行船體艙段結(jié)構(gòu)模態(tài)的試運(yùn)算。界面輸出的模型仿真與采用傳統(tǒng)的GUI界面建模計(jì)算的結(jié)果相同。從而驗(yàn)證了二次開發(fā)軟件在大大提高工程設(shè)計(jì)人員工作效率的同時(shí),能夠有效地保證計(jì)算精度,可以普遍地應(yīng)用于工程實(shí)踐中。
圖9 有限元模態(tài)計(jì)算結(jié)果
本文基于VB和APDL語言對(duì)ANSYS mechanical模塊進(jìn)行接口開發(fā),可實(shí)現(xiàn)對(duì)船體艙段結(jié)構(gòu)有限元快速建模和后期模型的高效修改,人機(jī)交互界面的創(chuàng)建。通過船體艙段主要參數(shù)的輸入,簡(jiǎn)化了操作過程,提高了設(shè)計(jì)人員工作效率,為后續(xù)針對(duì)船體類似ANSYS二次開發(fā)的深入開發(fā)研究和應(yīng)用提供了參考,在工程上具有較大的應(yīng)用和推廣價(jià)值。