, , ,
(1.華中科技大學(xué) 材料科學(xué)與工程學(xué)院,武漢 430074;2.中國(guó)船級(jí)社 技術(shù)研發(fā)中心,北京 100007)
目前船舶有限元模型的快速生成技術(shù)不是很成熟,第一,大部分只能通過手工的方式從二維圖紙上量取尺寸,然后輸入到Patran、Ansys等有限元軟件中,建模過程比較復(fù)雜,影響了建模的效率。第二,船體結(jié)構(gòu)中包含了復(fù)雜的曲面曲線,各板架屬于獨(dú)立結(jié)構(gòu),在拓?fù)渖蠜]有連接,在實(shí)際網(wǎng)格劃分時(shí)各個(gè)板架只能被獨(dú)立網(wǎng)格化,不同網(wǎng)格之間難以相互匹配,從而限制了船舶有限元建模技術(shù)的進(jìn)一步發(fā)展[1]。
船舶有限元技術(shù)向著CAD/CAE 集成方向發(fā)展,而目前大部分的CAD/CAE集成系統(tǒng)采用一種中間標(biāo)準(zhǔn)數(shù)據(jù)格式文件,例如,GES/VDA/STEP/DXF等,將CAD模型導(dǎo)出,然后再導(dǎo)入到CAE系統(tǒng)中生成幾何,簡(jiǎn)化、生成有限元網(wǎng)格[2]。這種方式會(huì)造成CAD建模的參數(shù)化特征丟失和信息丟失,產(chǎn)生大量的冗余,CAD模型的修改面臨重復(fù)轉(zhuǎn)換、幾何修補(bǔ)和拓?fù)渲亟ǖ葐栴}[3]。
針對(duì)CAD/CAE集成技術(shù)的研究,已涉及從CAD到分析模型的創(chuàng)建過程,近些年來主要采用調(diào)整現(xiàn)有CAD模型以適應(yīng)分析需求的方法[4-5],但是由于CAD/CAE系統(tǒng)之間的差異性,使得直接在CAD模型上進(jìn)行修改變得難以實(shí)現(xiàn)[6-8]。提出了一種表單特征方法,通過在B-Rep模型上添加附加的信息來適用于網(wǎng)格的生成[9-10],但是這種方式僅支持基于特征建模的環(huán)境。至于高級(jí)拓?fù)?HLT)的方法,雖同時(shí)支持B-Rep和多面體表示,并在CAD模型和多面體模型之間創(chuàng)建連接,但是為了讓高級(jí)拓?fù)溥m合于網(wǎng)格生成,還是會(huì)丟失拓?fù)渥儞Q的操作過程[11-12]。
綜上,提出一種CAD/CAE集成系統(tǒng)的有限元網(wǎng)格自動(dòng)生成技術(shù),一方面使用中間模型實(shí)現(xiàn)CAD模型和有限元網(wǎng)格之間的連接,修改CAD模型會(huì)自動(dòng)更新有限元網(wǎng)格,另一方面解決相交板架有限元網(wǎng)格的匹配問題。
圖1是使用通用CAD建模軟件建立的船舶外殼模型。由圖1可見,整個(gè)外殼是由多張曲面拼接而成,在實(shí)際劃分網(wǎng)格時(shí),不希望網(wǎng)格節(jié)點(diǎn)沿著分片縫分布,需要進(jìn)行面的合并,而在CAD環(huán)境下很難將多張曲面合并成一張曲面。
因此,引入一種多面體模型作為中間模型,采用數(shù)字化測(cè)量的方式得到多面體模型,在誤差范圍內(nèi)離散成三角形面片,在多面體模型下實(shí)現(xiàn)多張曲面的“焊接”。多面體模型保證了CAD模型與網(wǎng)格之間的關(guān)聯(lián),可以直接用于網(wǎng)格的生成,提高建模效率。
圖2為基于NX平臺(tái)完成的船舶有限元前處理系統(tǒng),在建模環(huán)境下進(jìn)行產(chǎn)品建模,然后使用NX的多面體模型生成器將產(chǎn)品模型(B-Rep表示)轉(zhuǎn)換成多面體模型[12],多面體模型減小了產(chǎn)品模型和網(wǎng)格模型之間的差距,可以直接用于網(wǎng)格劃分。
在進(jìn)行實(shí)體建模時(shí),船體的板架結(jié)構(gòu)是以獨(dú)立的結(jié)構(gòu)進(jìn)行創(chuàng)建的,在拓?fù)浣Y(jié)構(gòu)上沒有關(guān)聯(lián),造成在生成有限元網(wǎng)格時(shí),空間各個(gè)板架被獨(dú)立網(wǎng)格化的問題。如圖3所示,船舶中存在許多結(jié)構(gòu)與外殼相交,但是并沒有“焊接”在一起,導(dǎo)致在網(wǎng)格劃分時(shí)不能生成相互匹配的網(wǎng)格。
因此,許多軟件在進(jìn)行網(wǎng)格劃分之前在CAD模型中實(shí)現(xiàn)相交結(jié)構(gòu)的“焊接”,但是CAD模型需要使用B-Rep建模,對(duì)于空間上相互靠近的曲線很難實(shí)現(xiàn)縫合操作。如圖4所示,左圖中2個(gè)結(jié)構(gòu)在空間上存在2條相互靠近的邊,右圖是通過移動(dòng)2條靠近的邊來實(shí)現(xiàn)縫合,由于CAD中的邊由一系列控制點(diǎn)描述,很難實(shí)現(xiàn)空間上的挪動(dòng),同時(shí)改變了CAD模型的空間拓?fù)洹?/p>
為此,提出一種新的建模方式,實(shí)現(xiàn)相交板架的縫合。如圖5所示,在CAD模型中進(jìn)行幾何的切割,并沒有實(shí)現(xiàn)2個(gè)獨(dú)立結(jié)構(gòu)的“焊接”操作,而是將相互匹配的邊存儲(chǔ)起來,然后將CAD模型轉(zhuǎn)化成多面體模型,在多面體模型中通過移動(dòng)多邊形節(jié)點(diǎn)來實(shí)現(xiàn)相交結(jié)構(gòu)的“焊接”。這樣既不影響CAD模型,又能實(shí)現(xiàn)網(wǎng)格的相互匹配。
在CAD模型中,在切割之前需要按照目標(biāo)體和切割工具進(jìn)行分組。
船體模型中幾何體數(shù)量巨大,1艘散貨船模型中的結(jié)構(gòu)數(shù)量大約是2 000個(gè),而每塊板架的拓?fù)浣Y(jié)構(gòu)復(fù)雜,如果直接通過測(cè)量2個(gè)幾何的距離來判斷結(jié)構(gòu)是否相交,效率低下,所以需要使用AABB(axis-aligned bounding box)算法進(jìn)行篩選[13],然后再進(jìn)行精確判斷。
步驟1:使用曲面的包容盒進(jìn)行粗篩。首先對(duì)整個(gè)模型中的所有曲面求取其包容盒,然后使用AABB算法,按照劃分的最大層數(shù)和空間格中最小曲面數(shù)量進(jìn)行空間的劃分,然后再求取曲面幾何的最小包容盒??紤]到模型的誤差,需要求取的最小包容盒的放量包容盒,對(duì)求得的包容盒進(jìn)行放大,然后在使用AABB算法建立的八叉樹數(shù)據(jù)中查詢與其相交的結(jié)構(gòu),最后在小范圍中進(jìn)一步篩選得到線相交的結(jié)構(gòu)。
步驟2:通過小范圍精確的計(jì)算得到與曲面相交的曲面(線接觸)。
在CAD環(huán)境下使用B-Rep建模方式很難將多個(gè)結(jié)構(gòu)合并成一個(gè)結(jié)構(gòu),所以只能進(jìn)行切割操作,并記下切割信息,利用切割信息在多面體模型中進(jìn)行縫合。
如圖6所示,存在一組相交的板架,sheet2的e6和sheet3的e7是與sheet1相交的邊。
步驟1:sheet2對(duì)sheet1進(jìn)行切割。
首先求得sheet2中的e6與sheet1相交,如圖7所示,sheet1上生成e10和e11,同時(shí)為了生成相互匹配的邊,sheet2的e6邊被分割成e8和e9。
為了實(shí)現(xiàn)2個(gè)板架在拓?fù)渖系倪B接,需要保存匹配邊的信息,一次切割生成的匹配邊見表1。
表1 一次切割匹配邊生成
注:Unique ID表示使用一個(gè)GUID唯一表示一組數(shù)據(jù),Match Edges表示相互重合的一組邊,Unique ID對(duì)應(yīng)一組Match Edges,如表1中e8和e11為一組匹配邊,e9和e10是一組匹配邊。
虛擬拓?fù)涞亩x和相關(guān)的虛擬拓?fù)洳僮?,可以?shí)現(xiàn)匹配邊的合并[14],但是主要用于幾何的簡(jiǎn)化操作,本文在實(shí)現(xiàn)中仍然保持CAD模型中幾何拓?fù)潢P(guān)系,只是在模型交于圖形系統(tǒng)顯示時(shí)僅顯示列表中的一條邊。
步驟2:shee3對(duì)sheet1進(jìn)行切割。如圖8所示,首先在一次切割生成的匹配邊的列表中查詢,發(fā)現(xiàn)已存在e10和e11與sheet3相交,只需要將sheet3生成的邊e13和e14加入到相應(yīng)的匹配邊組中,然后創(chuàng)建新的e12和e15匹配邊,并存入匹配邊列表中。
二次切割生成的匹配邊見表2,每組板架的切割使用一張表表示,并與被切割板架關(guān)聯(lián),以便在生成多面體模型時(shí)供縫合操作查詢。
表2 二次切割匹配邊列表
NX中CAD幾何和多面體幾何之間的對(duì)應(yīng)關(guān)系見表3。由于CAD模型和多面體模型屬于不同的模型,在進(jìn)行多面體轉(zhuǎn)換時(shí),使用NX的查詢API進(jìn)行對(duì)應(yīng)關(guān)系查詢,將表2中的切割信息轉(zhuǎn)換成表4形式,這樣就可以在多面體幾何中進(jìn)行縫合。
表3 多面體幾何和CAD幾何對(duì)應(yīng)關(guān)系
表4 多面體中匹配邊列表
注:表2中e8為CAD幾何中的邊,表4中的e8′是多面體幾何中的邊,2種模型中的幾何信息一一對(duì)應(yīng)
為了能夠在劃分網(wǎng)格時(shí)實(shí)現(xiàn)網(wǎng)格的匹配,需要利用表4中匹配邊信息實(shí)現(xiàn)多面體網(wǎng)格間的縫合?;舅枷胧菑钠渲腥我庖粭l邊的起點(diǎn)開始,向?qū)Ψ竭M(jìn)行投影操作,然后進(jìn)行多邊形點(diǎn)的合并。
如圖9所示,以船體外殼及相交的強(qiáng)肋骨為例進(jìn)行介紹縫合的過程,主要存在2種情況。
1)以外殼上的p2點(diǎn)為起點(diǎn),向強(qiáng)肋骨的投影,在設(shè)定的誤差范圍內(nèi),發(fā)現(xiàn)p1點(diǎn)和p2點(diǎn)重合,于是將p2點(diǎn)合并到p1點(diǎn)。
2)沿著邊的方向,下一個(gè)需要合并的點(diǎn)是p3,將p3點(diǎn)向強(qiáng)肋骨投影,在誤差范圍內(nèi)不存在可以合并的點(diǎn),如圖9b)所示;為了實(shí)現(xiàn)合并功能,需要在facet1的邊上布置一個(gè)硬點(diǎn)p3′,將facet1拆分成2個(gè)片體,如圖9c)所示,生成的facet1-1和facet1-2,直至完成2個(gè)多面體的合并,強(qiáng)肋骨和外殼就變成一個(gè)幾何體。這樣在劃分網(wǎng)格時(shí),基于一個(gè)多面體劃分出的網(wǎng)格就會(huì)相互匹配,可減少對(duì)網(wǎng)格的縫合,快速建模網(wǎng)格模型。
經(jīng)過縫合處理后,多個(gè)相互獨(dú)立的多面體結(jié)構(gòu)被“焊接”成一個(gè)完整的多面體模型,通過使用NX中網(wǎng)格生成器將多面體模型網(wǎng)格化,再在網(wǎng)格上附上單元屬性,設(shè)置好邊界條件[15],采用Nastran等分析模塊中進(jìn)行有限元分析操作。
參考通用船舶有限元建模流程[16]。首先利用CAD設(shè)計(jì)模型生成關(guān)聯(lián)的簡(jiǎn)化模型,根據(jù)船舶有限元建模需求進(jìn)行模型簡(jiǎn)化,在簡(jiǎn)化模型中進(jìn)行板筋和板板切割,存儲(chǔ)切割的匹配邊信息,將簡(jiǎn)化模型轉(zhuǎn)換成多面體模型,完成邊的縫合。對(duì)于在B-Rep模型中不能完成的簡(jiǎn)化操作,可以在多面體模型中進(jìn)一步完成幾何清理,最后直接對(duì)多面體模型進(jìn)行網(wǎng)格劃分,得到理想的有限元網(wǎng)格。
對(duì)180 000 t散貨船中的艙段前處理示意于圖10,板架切割公差5.0 mm。測(cè)試主機(jī)主要參數(shù)配置:Intel Xeon E3-1231 v3 CPU,8G RAM。艙段的板架切割耗時(shí)36min,多面體模型生成及匹配邊“焊接”耗時(shí)50 min,網(wǎng)格生成耗時(shí)29 min,整個(gè)建模過程采用通用的建模方式大約需要幾周時(shí)間。
由圖10a)和b)可以看出,相交結(jié)構(gòu)的單元相互匹配。
基于NX11的CAD/CAE集成開發(fā)平臺(tái)實(shí)現(xiàn)了從CAD模型到網(wǎng)格模型的自動(dòng)生成,與通用的手工建模方式相比能夠提高船舶有限元的建模效率。所提出的網(wǎng)格自動(dòng)生成技術(shù)可以推廣到更一般的有限元建模過程當(dāng)中,提高整個(gè)有限元建模的效率。