国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

船舶艙室噪聲SEA計(jì)算的快速建模及其可視化

2010-06-07 07:53:58金建海冷文浩吳文偉須文波
船舶力學(xué) 2010年7期
關(guān)鍵詞:艙室關(guān)聯(lián)可視化

金建海,冷文浩,吳文偉,須文波

(1江南大學(xué)信息工程學(xué)院,江蘇 無錫 214122;2中國船舶科學(xué)研究中心,江蘇 無錫 214082)

船舶艙室噪聲SEA計(jì)算的快速建模及其可視化

金建海1,2,冷文浩2,吳文偉2,須文波1

(1江南大學(xué)信息工程學(xué)院,江蘇 無錫 214122;2中國船舶科學(xué)研究中心,江蘇 無錫 214082)

通過分析中國船舶科學(xué)研究中心開發(fā)的基于SEA的船舶艙室噪聲計(jì)算方法的建模過程,提出了一種快速建模方法并重點(diǎn)討論了其中的艙室自動(dòng)關(guān)聯(lián)算法,在畫家算法的基礎(chǔ)上實(shí)現(xiàn)了模型的快速消隱顯示和云圖顯示功能。并通過實(shí)例,說明相關(guān)的前后處理算法能夠很好地滿足船舶艙室噪聲計(jì)算需求,大大提高了建模的效率。

統(tǒng)計(jì)能量法;前后處理;艙室噪聲;建模;可視化

1 引 言

統(tǒng)計(jì)能量分析法簡稱SEA(Statistical Energy Analysis),是基于統(tǒng)計(jì)平均的概念,將結(jié)構(gòu)按其幾何、物理等參數(shù)劃分成子系統(tǒng),考慮子系統(tǒng)之間的能量傳遞,最終由能量方程組求解得到各子系統(tǒng)的平均能量的一種方法[1]。目前,統(tǒng)計(jì)能量法已經(jīng)從預(yù)報(bào)簡單的矩形腔聲場發(fā)展到預(yù)報(bào)整船的結(jié)構(gòu)噪聲和艙室空氣噪聲,國外已經(jīng)開發(fā)了通用的商用軟件AutoSEA[2],它廣泛應(yīng)用于中高頻NVH領(lǐng)域,占據(jù)了全球約95%以上的市場,全球的航空、國防軍工、汽車、電子領(lǐng)域主要企業(yè)都采用它進(jìn)行NVH評(píng)估和計(jì)算。這款軟件最初是針對(duì)航空行業(yè)開發(fā)的,并在汽車行業(yè)得到廣泛應(yīng)用,但在船舶行業(yè)的應(yīng)用還不多見[3]。中國船舶科學(xué)研究中心(以下簡稱CSSRC)在八五~十五期間開發(fā)了基于統(tǒng)計(jì)能量法的船舶結(jié)構(gòu)振動(dòng)傳遞和艙室噪聲的計(jì)算方法[4],該計(jì)算方法很好地解決了船舶艙室噪聲的預(yù)報(bào)問題,與實(shí)船實(shí)驗(yàn)比較誤差在3dB以內(nèi)[5]。但該方法在前后處理方面存在不足,尤其是建模耗費(fèi)了大量時(shí)間,影響了該方法的推廣應(yīng)用。本文作者根據(jù)其分析過程,開發(fā)了該計(jì)算方法的專用前后處理軟件系統(tǒng),并將計(jì)算方法有機(jī)地集成在一起,形成了船舶艙室聲學(xué)CAE仿真軟件,可為設(shè)計(jì)人員提供快速有效的艙室噪聲預(yù)報(bào)和評(píng)估。

船舶艙室SEA計(jì)算模型的快速建立及其可視化是船舶艙室聲學(xué)CAE仿真軟件前后處理的重要功能,它大大縮短了采用SEA法進(jìn)行船舶艙室噪聲分析的時(shí)間。但同時(shí)也是軟件實(shí)現(xiàn)的難點(diǎn),是計(jì)算幾何和科學(xué)計(jì)算可視化領(lǐng)域的重要應(yīng)用分支,相關(guān)的技術(shù)領(lǐng)域如有限元分析前后處理的算法甚至軟件并不少見[6-7],但大多是對(duì)基于圖形學(xué)的傳統(tǒng)可視化算法的綜合利用,不僅算法復(fù)雜,不易編程實(shí)現(xiàn),而且與船舶艙室SEA模型的特點(diǎn)并不符合。本文結(jié)合開發(fā)完成的仿真軟件,從解決工程問題的角度出發(fā),對(duì)船舶SEA法計(jì)算模型的快速建立及其可視化所牽涉到技術(shù)點(diǎn)進(jìn)行討論并給出實(shí)現(xiàn)方案和算法。

2 SEA計(jì)算模型特點(diǎn)簡介

SEA法船舶艙室計(jì)算模型是一種基于邊界表示法的CAD模型。其中Face(面)都是平面凸多邊形(通常是四邊形),而Body(體)是由面圍成。如圖1是某一個(gè)艙室的SEA計(jì)算模型。

圖 1 中的 F0,F(xiàn)1,F(xiàn)2,F(xiàn)3,F(xiàn)4,F(xiàn)5 分別表示組成艙室(Body)的六個(gè)面,每個(gè)面(Face)是一個(gè)平面凸多邊形(通常是四邊形),它由節(jié)點(diǎn)圍成,如面 F0 由 G0,G1,G2,G3 組成,面 F2 由G1,G2,G6,G5 組成。 相鄰的兩個(gè)節(jié)點(diǎn)(如 G0,G1)可組成邊(Edge)。節(jié)點(diǎn)含有空間坐標(biāo)信息。Body、Face和 Edge可分別用于表示聲場單元、板單元和梁單元的幾何對(duì)象。

組成艙室的各個(gè)Face之間不能有重疊和交叉。為了幾何處理的需要(如下文提到的艙室自動(dòng)關(guān)聯(lián)),所有的Face都要剖分成三角形網(wǎng)格(簡單剖分即可,顯示的時(shí)候可以不顯示三角形網(wǎng)格,所以Face也可以認(rèn)為由其三角形網(wǎng)格組成),三角剖分算法可參考相關(guān)文獻(xiàn)[8],這里不作詳細(xì)描述,需要注意的是其中有些面是退化的多邊形,即其對(duì)應(yīng)的多邊形頂點(diǎn)中至少有三個(gè)點(diǎn)在同一條直線上。三角剖分后的計(jì)算模型相當(dāng)于普通三維CAD模型進(jìn)行有限元面網(wǎng)格劃分后的有限元模型,但保留了Body、Face和Edge的概念和其拓樸結(jié)構(gòu)。

圖1 某一船舶艙室的SEA模型Fig.1 SEA model of a shipboard

3 SEA計(jì)算模型的建立

3.1 模型的創(chuàng)建

根據(jù)章節(jié)2描述的SEA法船舶艙室計(jì)算模型的特點(diǎn),軟件提供了方便直觀的界面讓用戶完成建模工作[9-10]。其建模過程包括兩種典型的方法,其中方法1的創(chuàng)建過程如下:

(1)輸入坐標(biāo)以創(chuàng)建節(jié)點(diǎn);

(2)在視圖中依次選擇節(jié)點(diǎn)以創(chuàng)建Face,同時(shí)Face要以這些節(jié)點(diǎn)剖分成三角形網(wǎng)格;

(3)在視圖中選擇Face以創(chuàng)建艙室。

普通CAD軟件和CAE前處理軟件都提供了這種方法供用戶建模,其建模速度與CSSRC以前采用的在Ansys中建模再轉(zhuǎn)換成求解器需要的卡片的方法相差不大,但是要方便直觀得多。

本文根據(jù)SEA法船舶艙室模型的特點(diǎn)—即模型中大部分艙室都是長方體(含立方體),甚至全部都是長方體,增加了一種更加快速的建模方法即方法2,其建模過程如下:

(1)快速建立簡單六面體艙室;

(2)創(chuàng)建完所有六面體艙室后,對(duì)所有的艙室進(jìn)行自動(dòng)關(guān)聯(lián),使相鄰的艙室具有相同的邊界點(diǎn)和面;

其中第(1)步的實(shí)現(xiàn)過程可參考圖1中的長方體,用戶輸入G0的坐標(biāo),然后輸入x,y、z方向的長度(即G0G1、G0G3、G0G4的長度),則可以直接創(chuàng)建圖1中的長方體。它與方法1類似,只是六面體的8個(gè)節(jié)點(diǎn)的坐標(biāo)不是用戶直接輸入,而是根據(jù)G0的坐標(biāo)和x、y、z方向的長度計(jì)算獲得。當(dāng)然,用戶也可以以方法1的方式先建立艙室,再進(jìn)行第(2)步工作以確保模型的正確性。

第(2)步的實(shí)現(xiàn)過程比較復(fù)雜,需要作比較復(fù)雜的計(jì)算幾何處理,下一節(jié)將詳細(xì)討論。

3.2 艙室的自動(dòng)關(guān)聯(lián)

相鄰的艙室(Body),在SEA計(jì)算模型中應(yīng)該具有相同的板格(Face),而不能有兩個(gè)相互重疊的Face。但是用戶在創(chuàng)建艙室的過程中,尤其是采用上文中提到的方法2創(chuàng)建各個(gè)艙室時(shí),相鄰的艙室之間會(huì)有Face相互重疊,這是SEA計(jì)算模型所不允許的,如果直接計(jì)算會(huì)導(dǎo)致結(jié)果出錯(cuò)甚至無法計(jì)算。因此需要將所有相鄰的艙室都關(guān)聯(lián)起來,使它們具有相同的邊界點(diǎn)和面。如圖 2 面 F1(由 G0,G1,G2,G3 構(gòu)成)屬于 Body I,面 F2(由N0,N1,N2,N3 構(gòu)成)屬于 Body II,但 F1 和 F2 相互重疊(距離為0或者在用戶指定范圍內(nèi)),此時(shí),需要將Body I和Body II關(guān)聯(lián)起來,即需要將面F1和F2合并為一個(gè)面F1(或者F2),只有F1(或者F2)既屬于Body I,也屬于 Body II。

兩個(gè)相鄰的但是還沒有關(guān)聯(lián)的艙室(Body)之間的關(guān)系,也就是相互重疊Face之間的關(guān)系,如圖3,有且僅有以下三種情況:

圖2 兩個(gè)相鄰的艙室Fig.2 Two adjacent shipboards

圖3 Face重疊的三種情況Fig.3 Three mating types of face to face

(1)完全重疊:兩個(gè)Face基本一致,標(biāo)志為MATING_SAME。

(2)包含一方:其中一個(gè)Face基本上是另外一個(gè)Face的一部分,標(biāo)志為MATING_SINGLE。

(3)部分重疊:兩個(gè)Face都只有部分面積相互重疊,標(biāo)志為MATING_MISMATCH。

艙室關(guān)聯(lián)的自動(dòng)實(shí)現(xiàn)是一個(gè)比較復(fù)雜的過程:首先需要自動(dòng)查找相互之間有重疊的Face對(duì),然后將它們一一映射關(guān)聯(lián)。

自動(dòng)查找相互之間有重疊的Face對(duì)的算法(C偽碼)如下:

(1)設(shè)Tolerance=用戶輸入或者根據(jù)模型尺寸確定的距離誤差值;

這里需要說明的是(11)步中的點(diǎn)的集合(G1,G2...Gn)不僅僅限于是模型中現(xiàn)有的節(jié)點(diǎn),還包括可能的虛擬的點(diǎn),譬如Face i中現(xiàn)有的Node1到Face j的距離為0,而相鄰的另一個(gè)節(jié)點(diǎn)Node2到Face的距離可能剛好大于Tolerance,且Node1與Node2所在的邊與Face i不是垂直的,這時(shí)需要在Node2和Node1之間的邊上線性插值形成新的虛擬點(diǎn),該點(diǎn)到Face j的距離剛好為Tolerance。

在找到所有的重疊Face對(duì)后,就可以將它們一一映射以關(guān)聯(lián)起來。其實(shí)現(xiàn)過程如下(參考圖3):

(1)do模型中每對(duì)重疊的Face(如圖3中的Face i和Face j)

4 SEA計(jì)算模型的可視化

SEA計(jì)算模型的可視化采用目前業(yè)界通用的OpenGL圖形軟件包,但其庫函數(shù)只是提供了點(diǎn)、線和平面凸多邊形(包括三角形)的顯示。為獲取真實(shí)感強(qiáng)的三維圖,還必須進(jìn)行消隱處理,一般方法是將線段和全部面進(jìn)行遮蔽測試,從而判斷它們之間的遮擋關(guān)系,為此,先要進(jìn)行最小-最大測試,再進(jìn)行交點(diǎn)計(jì)算和深度測試[11]。為了避免繁雜的交點(diǎn)計(jì)算和深度測試,同時(shí)考慮到模型中有相當(dāng)一部分面的法向都是指向艙室內(nèi)部的(主要是相鄰艙室的共享面),不能用面的外法向與觀察方向的夾角來判斷面的可見性。所以本文采用的是基于畫家原理[12]的快速消隱算法:

(1)將各個(gè)面按其形心離視點(diǎn)的遠(yuǎn)近進(jìn)行排序,建立面的深度優(yōu)先級(jí)表。

(2)按照由遠(yuǎn)及近的順序,將各個(gè)面依次投影到屏幕上,顯示結(jié)構(gòu)包含的實(shí)心區(qū)域。由于后繪制的圖形覆蓋先繪制的畫面,而后繪制的圖形代表的面離視點(diǎn)更近,因此由遠(yuǎn)及近地繪制各面,就達(dá)到了消除隱藏面的效果。

利用該算法建立的模型,如果需要顯示被隱藏部分的模型特征同時(shí)又不影響顯示效果也非常方便,只需要在繪制面的時(shí)候設(shè)置一定的透明度。此外,為加強(qiáng)三維效果,還應(yīng)該在遠(yuǎn)處設(shè)置光源。

在后處理階段,計(jì)算模型還需要以云圖的形式進(jìn)行顯示,即在顯示模型的同時(shí),還需要以一定的顏色來表示艙室噪聲的計(jì)算結(jié)果。其實(shí)現(xiàn)過程只要在消隱算法基礎(chǔ)上稍微改進(jìn)一下,具體如下:

(1)根據(jù)所有艙室噪聲值的最大值和最小值,將噪聲值分成n個(gè)等級(jí);

(2)畫上n個(gè)顏色級(jí)數(shù)的顏色標(biāo)尺,標(biāo)上對(duì)應(yīng)的量值,以供參考;

(3)do由遠(yuǎn)及近依次提取面的深度優(yōu)先表中的每個(gè)面;

{

(4)獲得面所在的艙室的噪聲值;

(5)如果沒有噪聲值則不顯示,否則根據(jù)噪聲值大小獲得所對(duì)應(yīng)的級(jí)數(shù);

(6)根據(jù)級(jí)數(shù)獲得對(duì)應(yīng)的顏色;

(7)使用獲得的顏色,調(diào)用OpenGL函數(shù)完成面的繪制和顏色填充;

}//end do

這個(gè)算法的運(yùn)算量較之其它云圖顯示算法大大減少,這里需要說明的是第(4)步和第(5)步,由于部分艙室只需要考慮其結(jié)構(gòu)振動(dòng)噪聲而不需要考慮艙室空氣噪聲,故沒有建立其聲場單元,計(jì)算時(shí)也就沒有該艙室的空氣噪聲值,此時(shí)只需要顯示其線框圖即可。

5 應(yīng)用實(shí)例

作者采用面向?qū)ο蟮乃枷?,用VC++語言開發(fā)了基于上述思想的船舶艙室聲學(xué)CAE仿真軟件。圖4是一個(gè)用于測試艙室自動(dòng)關(guān)聯(lián)的簡單例子,包括了面與面重疊的各種類型。其中左圖是快速創(chuàng)建后的原圖,右圖則是自動(dòng)關(guān)聯(lián)后的模型。為檢驗(yàn)方便,模型顯示的時(shí)候都顯示了三角形網(wǎng)格。

圖4 艙室自動(dòng)關(guān)聯(lián)例子Fig.4 Test case for shipboards auto link

另外,作為典型算例,我們對(duì)某船的主要艙室進(jìn)行了艙室噪聲計(jì)算。如圖5,其中左圖是創(chuàng)建完畢并自動(dòng)關(guān)聯(lián)后的SEA計(jì)算模型,共有50個(gè)艙室(包括363個(gè)板格),另外還有53個(gè)只考慮結(jié)構(gòu)噪聲的板格。整個(gè)建模花費(fèi)的時(shí)間不到一個(gè)小時(shí),大大低于以前一個(gè)工作日(約8個(gè)小時(shí))的工作量。右圖則是該船在正常航行狀態(tài)下各主要艙室的空氣噪聲的云圖(參考聲壓級(jí)為2×10-5Pa),各艙室的顏色對(duì)應(yīng)的等級(jí)(共分成10個(gè)顏色等級(jí))與計(jì)算結(jié)果是一致的,其中沒有空氣噪聲結(jié)果值的艙室只顯示其線框圖。

圖5 某船的SEA模型圖Fig.5 The SEA model of some ship

6 結(jié) 論

本文按照CSSRC采用SEA法進(jìn)行船舶艙室噪聲分析的需要,完成了其模型的建立及其可視化。包括模型的創(chuàng)建、艙室的自動(dòng)關(guān)聯(lián)、模型的消隱顯示以及后處理階段模型的云圖顯示等。主要結(jié)論如下:

(1)可以直觀地按照點(diǎn)、面(多邊形)、體的順序建立SEA計(jì)算模型,也可以快速簡便地創(chuàng)建各個(gè)六面體艙室。

(2)提出并解決了艙室(Body)自動(dòng)關(guān)聯(lián)的算法,自動(dòng)關(guān)聯(lián)后的模型符合SEA計(jì)算的要求。該算法解決了模型中的面的重疊問題,大大提高了建模的效率。

(3)提出并解決了模型顯示中的消隱的問題,以及在后處理階段的模型的簡便云圖顯示。模型及云圖的顯示準(zhǔn)確、逼真、直觀,符合船舶艙室聲學(xué)CAE仿真軟件前后處理的要求。

[1]張 晶,王憲成,索文超,徐大平.基于統(tǒng)計(jì)能量分析法的船艇機(jī)艙艙室噪聲仿真[J].裝甲兵工程學(xué)院學(xué)報(bào),2006,20(1):58-62.

[2]俞孟薩,吳有生.艦船聲彈性及聲輻射理論研究概述[J].船舶力學(xué),2008,12(4):669-676.

[3]張 娟,李天勻,朱 翔等.基于AutoSEA2的船舶典型動(dòng)力源輻射噪聲分析[J].船舶力學(xué),2008,12(5):819-823.

[4]吳文偉,殷學(xué)文.72000dwt成品油輪艙室噪聲計(jì)算[R].無錫:中國船舶科學(xué)研究中心科技報(bào)告,2003.

[5]吳文偉,郭 列.滾裝船噪音控制設(shè)計(jì)研究[R].無錫:中國船舶科學(xué)研究中心科技報(bào)告,2006.

[6]劉永軍,李宏男,林 皋.有限元計(jì)算結(jié)果可視化顯示[J].大連理工大學(xué)學(xué)報(bào),2002,42(6):728-731.

[7]王志強(qiáng),洪嘉振.基于B-Rep的三維有限元網(wǎng)格高效消隱技術(shù)[J].計(jì)算機(jī)輔助設(shè)計(jì)與圖形學(xué)學(xué)報(bào),1998,10(2):118-123.

[8]De Berg M,van Kreveld M等.計(jì)算幾何—算法與應(yīng)用[M].北京:清華大學(xué)出版社,2005:50-69.

[9]金建海,吳文偉.海洋平臺(tái)多功能工作船艙室噪聲預(yù)報(bào)軟件需求說明書[K].2008.

[10]金建海,吳文偉.海洋平臺(tái)多功能工作船艙室噪聲預(yù)報(bào)軟件設(shè)計(jì)說明書[K].2008.

[11]余衛(wèi)平.有限元網(wǎng)格圖形處理技術(shù)及計(jì)算結(jié)果的可視化[J].計(jì)算機(jī)輔助設(shè)計(jì)與圖形學(xué)學(xué)報(bào),2003,15(12):1561-1565.

[12]李建波,林 皋,陳健云.簡便精確的有限元后處理可視化算法研究[J].大連理工大學(xué)學(xué)報(bào),2005,45(1):102-107.

Quick modeling and visualization for SEA method to predict shipboard noise

JIN Jian-hai1,2,LENG Wen-hao2,WU Wen-wei2,XU Wen-bo1
(1 School of Information Technology,Jiangnan University,Wuxi 214122,China;2 China Ship Scientific Research Center,Wuxi 214082,China)

By analyzing the modeling procedures of the SEA method developed by CSSRC to predict shipboard noise,a quick modeling method is presented and auto link for shipboards is discussed.Then the visualization of the model and contour display are realized based on improved painter’s algorithm.Finally,the examples are given to illustrate that the approaches of pre-post processing satisfy the requirement of shipboard noise prediction by SEA method well,and the efficiency of modeling is improved much.

SEA;pre-post processing;shipboard noise;modeling;visualization

U662.9

A

1007-7294(2010)07-0805-07

2009-06-30

“十一五”國家科技支撐計(jì)劃制造業(yè)信息化工程重大項(xiàng)目(2006BAF01A43)

金建海(1978-),男,江南大學(xué)與中國船舶科學(xué)研究中心聯(lián)合培養(yǎng)博士研究生。

book=811,ebook=427

猜你喜歡
艙室關(guān)聯(lián)可視化
船舶艙室通風(fēng)控制策略研究
基于CiteSpace的足三里穴研究可視化分析
基于Power BI的油田注水運(yùn)行動(dòng)態(tài)分析與可視化展示
云南化工(2021年8期)2021-12-21 06:37:54
基于CGAL和OpenGL的海底地形三維可視化
“一帶一路”遞進(jìn),關(guān)聯(lián)民生更緊
“融評(píng)”:黨媒評(píng)論的可視化創(chuàng)新
奇趣搭配
智趣
讀者(2017年5期)2017-02-15 18:04:18
艦載導(dǎo)彈意外點(diǎn)火時(shí)艙室內(nèi)噴灑抑制的影響研究
艦艇受損艙室的破損模式識(shí)別算法
船海工程(2013年6期)2013-03-11 18:57:37
惠州市| 扎囊县| 页游| 江口县| 桂阳县| 涞水县| 大埔县| 中宁县| 陵水| 博爱县| 延安市| 米林县| 澄城县| 宁强县| 科尔| 东乌| 哈密市| 富平县| 许昌市| 杭州市| 濮阳县| 博爱县| 安溪县| 铜陵市| 卢龙县| 惠来县| 滦平县| 资中县| 北票市| 黄龙县| 和龙市| 永福县| 申扎县| 柏乡县| 余姚市| 许昌县| 海阳市| 罗定市| 三门县| 西乌珠穆沁旗| 金乡县|