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