岳朝歡,王 健 , 馮佰威
(1.武漢理工大學 船海與能源動力工程學院,湖北 武漢 430063;2.武漢理工大學 高性能船舶技術教育部重點實驗室,湖北 武漢 430063;3.中國艦船研究設計中心,湖北 武漢 430064)
船體幾何重構技術是船型優(yōu)化設計的關鍵技術之一,也是聯(lián)系優(yōu)化算法與船舶性能評估分析之間的“橋梁”。在船體重構的變形方法中,自由變形(Free-Form Deformation,FFD)方法因其具有優(yōu)良的性能且易于集成于現(xiàn)有的大多數(shù)建模軟件而受到人們的廣泛關注。
1986年,SEDERBERG等[1]提出了自由變形方法,它以Bernstein多項式為基函數(shù),將原始物體放入正六面體控制體中,通過移動控制體上的控制點對物體進行變形。此后,便出現(xiàn)了各種擴展的變形技術,如擴展自由變形方法、有理的自由變形方法、基于NURBS 的自由變形方法和自由變形動畫等變形方法[2-4]。TAHARA等[5]利用FFD方法對多體船進行幾何重構,并對其進行了單目標和多目標的設計優(yōu)化。李勝忠[6]在國內首次將FFD技術引入作為船體幾何變形的一種方法,并以KCS船為對象,實現(xiàn)了其球鼻艏的變形。陳紅梅等[7]將 FFD 技術應用于船型優(yōu)化。馬丹萍[8]將FFD技術應用于螺旋槳的優(yōu)化設計。FFD方法在對物體進行形狀重構時突破了傳統(tǒng)方法的局限性且容易集成于現(xiàn)有的軟件造型系統(tǒng),具有良好的交互性和可控性。
目前,國內船舶領域已經(jīng)引入了FFD變形技術,在實際船型優(yōu)化中發(fā)揮著重要的作用。本文以船舶離散出的空間點云為研究對象,利用FFD方法對船舶型值點云進行空間位置變換,再通過變換后新的型值點反向求取船體NURBS曲面控制點,從而生成光順的NURBS船體曲面。通過船體幾何變形的具體實例驗證了FFD方法作為船體重構變形工具的實用性與靈活性。
FFD技術的基本原理[9]主要由3個步驟構成:
(1)根據(jù)變形物體確定一個正六面體,并將待變形物體進行局部坐標變換線性地嵌入正六面體。
(2)在正六面體上定義控制頂點網(wǎng)格,使其變?yōu)槿S張量積Bezier體。
(3)通過調整正六面體上的控制點,讓正六面體發(fā)生形變,并將這個形變傳遞給正六面體中的待變形物體,從而使其發(fā)生變形。
在一個包圍變形物體的正六面體(控制體)中構造一個局部坐標系(O′-STU),見圖1。
圖1 坐標系O′-STU
O′為局部坐標系的原點,S、T和U為軸矢量,O-XYZ為笛卡爾坐標系,其中任一點X在局部坐標系中的坐標為(s,t,u),則有以下關系:
X=X0+sS+tT+uU
(1)
式中:X0為局部坐標系的原點;而s、t、u分別為
(2)
由s、t、u表達式可以知道,0≤s,t,u≤1。
在控制體上構造控制頂點Qi,j,k,分別沿S、T和U3個方向用平行于O′TU、O′SU和O′ST坐標面的等距離截面將O′S、O′T和O′U等分為l、m和n個區(qū)間,則Qi,j,k由下式確定:
(3)
其中,i,j,k=0,1,2,3…。當i=j=k=0時,Qi,j,k為局部坐標系的原點??梢詫⒖刂企w內任意一點X的笛卡爾坐標與局部坐標通過下式建立聯(lián)系:
(4)
式中:Bi,l(s)、Bj,m(t)及Bk,n(u)分別為l、m及n次Bernstein多項式基函數(shù)。
Bernstein多項式基函數(shù)為
(5)
(6)
通過移動Qi,j,k的空間位置從而改變空間點云的位置。后續(xù)船型優(yōu)化中選擇Qi,j,k作為優(yōu)化變量,生成新的船型進行CFD計算,通過選擇合適的優(yōu)化算法進行優(yōu)化操作,從而選出性能較優(yōu)的船型。
船體曲面重構需要采用NURBS曲面插值算法,對于u向k次、v向l次的NURBS曲面定為
(7)
式中:di,j(i=0,1,…,m;j=0,1,…,n)是呈拓撲矩形陣列的控制頂點,形成一個控制網(wǎng)格;wi,j為相應控制點di,j的權因子,規(guī)定四角點處用正權因子,即wo,0、wm,0、wo,n、wm,n>0,其余wi,j≥0;Ni,k(u)(i=0,1,…,m)和Nj,t(v)(j=0,1,…,m)分別為u向k次和v向l次的規(guī)范B樣條基函數(shù),它們分別有u向和v向的節(jié)點矢量u=[u0,u1,…,um+k+1]與v=[v0,v1,…,vn+l+1],按deBoor遞推公式?jīng)Q定。
第i個k次B樣條基函數(shù)Ni,k(u)定義如下:
(8)
基函數(shù)Ni,k(u)是一個分段函數(shù),定義第i個k次B樣條基函數(shù)Ni,k(u),需要用到{ui,ui+1,…,ui+k+1}共k+2個節(jié)點,區(qū)間[ui,ui+k+1]被稱為Ni,k(u)的支撐區(qū)間。在支撐區(qū)間內,B樣條基函數(shù)大于等于零,而區(qū)間外皆為零。
利用NURBS方法進行船體曲面插值,首先沿u向對曲面上的數(shù)據(jù)換算成帶權值的型值點,再通過B樣條曲線的邊界條件及反算公式求出控制點;然后將這些控制點看作v向的型值點通過同樣的方法求得di,j,構成控制網(wǎng)格。得到控制網(wǎng)格后,就可以利用式(7)進行曲面重構[10]。
為了研究FFD算法的特性,以常規(guī)的球體變形為例,建立一個球心在(0,0,0)、半徑為1的球體,并將其置于控制體中,通過調整頂部中心控制點并保持頂部邊緣控制點不動的條件下實施整體的拉伸與壓縮變形,控制各基函數(shù)下可變控制點的拉伸與壓縮變化量一致?;瘮?shù)次數(shù)為二、三、四的效果見圖2~圖4。
圖2 球體原型及各次基函數(shù)下控制點分布
圖3 各次數(shù)拉伸正面效果對比
圖4 各次數(shù)壓縮正面效果對比
通過對比分析圖2~圖4,發(fā)現(xiàn)基函數(shù)次數(shù)越小,操縱的控制點數(shù)越少,其對變形的效果影響越小,產生的變化量越小,此時操縱控制點越容易且計算時間越短;基函數(shù)次數(shù)越大,操縱的控制點數(shù)越多,其對變形的效果影響越大,產生的變化量越多,同時操縱控制點越困難且計算時間越長。一般選擇Bernstein基函數(shù)的次數(shù)為三次,此時控制點個數(shù)不多且易于操控且變形效果較好,計算時間也較快,滿足工程應用的需求。
本文以C++語言編寫自由變形方法,對KCS標準船模進行局部變形(球鼻艏)和整體變形。為了節(jié)約計算成本且方便操控,選擇三次Bernstein基函數(shù)共64個控制點。變形的目標船型KCS見圖5。KCS船型是一個典型的帶球鼻艏的標準集裝箱船型,其主尺度參數(shù)如下:垂線間長7.279 m,型寬1.019 m,吃水0.342 m,方形系數(shù)0.651,船體濕表面積9.571 m2。
圖5 KCS基準設計模型
2.2.1 KCS船體局部球鼻艏變形實列
圖6(a)為球艏原始幾何造型及其FFD控制體示意圖;圖6(b)為FFD通過4組變量(Z1、Z2、Z3、Z4)對球艏前端角度的控制變形,使得球艏前端上翹或下垂;圖6(c)為一組變量(X1)對球艏長度的控制,通過球鼻艏最前端那組控制點將球鼻艏拉長或壓縮變形;圖6(d)為一組變量(Y1)對球艏寬度的控制,通過拉伸或者壓縮改變球鼻艏的寬度。
圖6 KCS船球鼻艏變形示意圖
設置的6組控制點變量取值見表1,初始球鼻艏點云、控制體及可移動控制點見圖7(a),變形后獲得新的空間點云及變形后的控制體見圖7(b)。
表1 局部變形控制點取值
圖7 變形前后空間點云對比
將獲得的空間點云通過NURBS方法自動擬合生成光順的曲面,其變形效果對比見圖8。通過對生成的模型研究發(fā)現(xiàn),FFD方法在對船體進行球鼻艏等局部變形時,具有很好的光順性。
圖8 KCS船球鼻艏變形前后的型線對比
2.2.2 船體全局變形實例
對KCS船進行全局變形。為了節(jié)省計算資源,將KCS半船的空間點云置于控制體內。本文為了展示作圖的視覺效果,不考慮排水量的約束問題,因此排水量的變化會比較大。
相對于船舶型寬與型深而言,船長顯得比較長,因此在船長方向設置較多的控制點,令l=8,m=3,n=3,共有144個控制點。設置3組控制點(Y1、X、Y2),艉部船寬方向的一組控制點(Y1)共8個向船寬方向移動使艉部變得肥大;中后部一組控制點(X)共16個向船首方向移動;艏部一組控制點(Y2)共12個向船寬方向移動使艏部變肥,見圖9。
圖9 KCS船全局變形示意圖
沿船長與船寬方向同時移動3組控制點的位置,同一組下的控制點移動相同的距離,最終X2、X3、Y2在船長及船寬處的取值見表2。
表2 全局變形控制點取值
變形后獲得新的空間點云。為了展示變形效果,將初始船體曲面與變形后空間點云放置在一起,見圖10。通過NURBS方法生成新的船體曲面并與初始船進行型線對比,見圖11,其中虛線為變形后的新船型。從圖中可以看到,變形后平行中體前移,船體艏部變得豐滿,船舶整體變寬。經(jīng)檢驗變形獲得的新船型是光順的,變形后的模型可直接用于CFD計算。
圖10 全局變形效果對比
圖11 母型船與變形船型線對比
(1)基于空間點云的自由變形技術可以用于船體局部的幾何重構及船體整體的幾何重構,為船體局部、整體構型優(yōu)化設計奠定了基礎。
(2)FFD算法實現(xiàn)局部變形時可以保持高階的跨界導矢連續(xù)性,且能夠保證曲面的光順性。
(3)控制點個數(shù)越多,控制越精細,移動靠近空間點云的控制點對變形的影響更大,且調整控制點引起的變化量在X、Y、Z方向互不耦合。
(4)通過變換后新的型值點反向求取船體NURBS曲面控制點,通過NURBS方法生成光順的船體曲面,為后續(xù)CFD性能計算奠定了基礎。