斯園園,楊 靜,蒙學(xué)昊,朱崇遠(yuǎn),張海濤
(中海油能源發(fā)展采油服務(wù)公司 天津 300452)
海浪是在風(fēng)的推動(dòng)下在海洋中傳播的短周期波動(dòng)。一般來說,在風(fēng)的作用下海洋表面產(chǎn)生的局部無規(guī)則的海浪被稱為風(fēng)浪。風(fēng)浪是常見的惡劣航行場(chǎng)景,巨大的海浪、海上風(fēng)暴漩渦、海洋表面上的強(qiáng)流等給船舶航行增加了諸多風(fēng)險(xiǎn)。這些風(fēng)險(xiǎn)都會(huì)導(dǎo)致船體失去平衡、側(cè)翻、搖晃,其結(jié)果為貨物受損、碰撞暗礁,造成生命財(cái)產(chǎn)損失。近年來,海洋氣象服務(wù)不斷發(fā)展,海上狀況預(yù)報(bào)準(zhǔn)確率上升,附加的警示功能愈加及時(shí)有效,海上安全事故顯著減少,但仍不容小覷、不能放松警惕。
物理學(xué)的角度認(rèn)為風(fēng)是由于空氣做流體運(yùn)動(dòng)產(chǎn)生的。空氣動(dòng)力學(xué)中把空氣當(dāng)作流體,因此,對(duì)于空氣流動(dòng)的風(fēng)場(chǎng)可以采取光滑粒子流體動(dòng)力學(xué)(Smoothed Particle Hydrodynamics,SPH)的流體模 型[1]建模。但是空氣粒子的密度小,會(huì)造成接觸面附近的數(shù)值不穩(wěn)定,其次,如果要模擬惡劣海況,需要大量的空氣粒子,如果數(shù)量不足,就很難產(chǎn)生足夠的能量。雖然僅拾取海水表面的空氣粒子作為樣本的方法可以為這種情況提供一種解決思路,但其目前僅適合模擬小型不劇烈的空氣場(chǎng)景,對(duì)于劇烈的海上風(fēng)場(chǎng)建模不適用。
在SPH框架中,個(gè)別特殊的阻力模型[2]可以廣泛應(yīng)用到風(fēng)場(chǎng)模型中??諝夂土黧w之間的相互作用可以用阻力模型來模擬。因?yàn)樽枇δP蛯儆谕饬δP?,所以不需考慮空氣粒子的采樣和穩(wěn)定性的影響。但是,阻力的大小與風(fēng)的接觸面積直接相關(guān),在高風(fēng)速下,如果空氣中流體粒子的量不足,也不會(huì)產(chǎn)生明顯的波浪效果。如果要將它應(yīng)用在海浪和強(qiáng)風(fēng)的場(chǎng)景中并產(chǎn)生理想的海浪,需要進(jìn)行某些改進(jìn)。借鑒阻力模型,采用基于Perlin噪聲[3]和改進(jìn)對(duì)數(shù)風(fēng)廓線[4-5]的隨機(jī)脈沖風(fēng)場(chǎng)模型,可繞過空氣粒子帶來的問題,最終模擬理想的受大風(fēng)影響下的海浪場(chǎng)景[6]。
在風(fēng)場(chǎng)模型[7-8]中,首先確定水平方向上的固定高度href,此點(diǎn)的風(fēng)速為,該點(diǎn)的風(fēng)速?zèng)Q定了整個(gè)風(fēng)場(chǎng)的強(qiáng)度。為了能夠建立隨機(jī)變化的風(fēng)場(chǎng),利用Perlin噪聲在基準(zhǔn)風(fēng)速上加上了無規(guī)則擾動(dòng)。
Perlin是一種偽隨機(jī)的呈梯度的噪聲,噪聲函數(shù)假設(shè)為Noise(x,y,z),三維空間中的任意一點(diǎn)用(x,y,z)表示,確定立方體晶格的參考點(diǎn):
若x1=x0+1,y1=y0+1,z1=z0+1,則確定的立方體晶格如圖1所示。
如圖2所示,圖1中正方體的每個(gè)頂點(diǎn)都生成 1個(gè)偽隨機(jī)的梯度向量。從給定的梯度向量列表中選取梯度向量,該表由正方體的中心點(diǎn)到各邊中點(diǎn)的向量組成。梯度向量在Perlin下表示為:(1,1,0),(-1,1,0),(1,-1,0),(-1,-1,0),(1,0,1),(-1,0,1),(1,0,-1),(-1,0,-1),(0,1,1),(0,-1,1),(0,1,-1),(0,-1,-1)。每個(gè)頂點(diǎn)梯度向量的偽隨機(jī)性使得輸入相同的值都可以獲得同一輸出值。
圖1 Perlin噪聲立方體晶格示意圖 Fig.1 Schematic diagram of Perlin noise cube lattice
圖2 偽隨機(jī)梯度向量示意圖 Fig.2 Schematic diagram of pseudo-random gradient vector
正方體內(nèi)任意隨機(jī)點(diǎn)都可以用向量(i,j,k)表示,其中i為正方體上平面和下平面之間的整數(shù)值集合i={x0,x1},同理其他2個(gè)邊界整數(shù)值的集合分別為j={y0,y1},k={z0,z1}。則頂點(diǎn)(i,j,k)的梯度為:
式中:梯度列表用G表示,P表示0~255之間的無重復(fù)隨機(jī)排列組合。
頂點(diǎn)梯度值的確定可以利用按位運(yùn)算得到梯度列表的索引,為了防止緩存的溢出,會(huì)在實(shí)現(xiàn)時(shí)重復(fù)1次P排列組合,因此,P排列組合的最終長(zhǎng)度為512。確定頂點(diǎn)的梯度向量后,需要計(jì)算各頂點(diǎn)指向輸入點(diǎn)的距離向量與梯度向量的點(diǎn)積:
式中:d為正方體的頂點(diǎn)點(diǎn)積組成的集合。確定點(diǎn)積集合后,利用插值法,根據(jù)點(diǎn)積集合計(jì)算每個(gè)輸入點(diǎn)對(duì)應(yīng)的噪聲值Noise(x,y,z)。具體計(jì)算過程如下:
式中:d為相應(yīng)的點(diǎn)積分量,插值系數(shù)用u、v、w表示。圖3所示為插值計(jì)算的示意圖。
圖3 插值計(jì)算示意圖 Fig.3 Schematic diagram of interpolation calculation
Perlin噪聲使用如下非線性插值函數(shù):
插值系數(shù)為:
為了使Perlin噪聲更自然、更好地產(chǎn)生分形效果,通常使用倍頻對(duì)不同頻率和不同振幅的Perlin噪聲 Noise( x,y,z)進(jìn)行累積計(jì)算。表1為倍頻和Perlin噪聲的疊加計(jì)算過程和公式。圖4為一維Perlin噪聲示例,圖5為二維情況下的Perlin噪聲示例,倍頻值為8。但在實(shí)際應(yīng)用過程中,過大的倍頻值往往會(huì)帶來額外的復(fù)雜計(jì)算量,對(duì)計(jì)算結(jié)果起到適得其反的效果。因此,應(yīng)根據(jù)實(shí)際應(yīng)用場(chǎng)景合理選擇倍頻值的 取值。
表1 累積計(jì)算過程 Tab.1 Cumulative calculation process
圖4 Perlin噪聲示例 Fig.4 Perlin noise example
圖5 二維Perlin噪聲示例 Fig.5 Examples of 2D Perlin noise
將Perlin噪聲帶入SPH框架中,把海水粒子的位置xi作為輸入值對(duì)水平風(fēng)場(chǎng)進(jìn)行隨機(jī)干擾:
當(dāng)風(fēng)吹在海水表面時(shí),海水表面的最上層海水粒子受風(fēng)的影響更大,因此,最上層的海水粒子的速度會(huì)更快。然而,由于外力的作用,海水粒子受風(fēng)的影響將隨著深度的增加而衰減。因此,深層海水粒子的速度也將呈現(xiàn)垂直衰減的趨勢(shì)。利用海水粒子受風(fēng)場(chǎng)影響的速度隨深度衰減的情況,推導(dǎo)了一種新海水粒子速度衰減方程:
在加入風(fēng)廓線方程后,海水粒子的風(fēng)速增量既有了隨機(jī)性又有了垂直方向上衰減的特性。但在自然界中,風(fēng)速的作用通常間斷的,因此,考慮其間斷不連續(xù)性,提出了一種脈動(dòng)風(fēng)場(chǎng):
為了驗(yàn)證隨機(jī)脈沖風(fēng)場(chǎng)的有效性,把隨機(jī)脈沖風(fēng)場(chǎng)放在不同場(chǎng)景中進(jìn)行了應(yīng)用測(cè)試。圖6為這次風(fēng)浪場(chǎng)景的設(shè)計(jì)。該場(chǎng)景中流體粒子數(shù)為57.9k,海水 塊和邊界的大小如圖7所示。
圖6 風(fēng)浪場(chǎng)景設(shè)計(jì)圖 Fig.6 Design drawing of wind and wave scenarios
在圖6所示場(chǎng)景條件下,以0.005s的時(shí)間步長(zhǎng)模擬了無風(fēng)和不同風(fēng)向、不同風(fēng)速下的海水粒子運(yùn)動(dòng),模擬結(jié)果如圖7~9所示。圖中海水粒子的顏色對(duì)應(yīng)它們的瞬時(shí)速度。在沒有風(fēng)的情況下,海水不受風(fēng)場(chǎng)的作用,海水的運(yùn)動(dòng)范圍相對(duì)較小,在此期間海水粒子的速度一般較慢。顏色條和速度值之間的非線性映射為在平靜條件下觀察緩慢的海水粒子創(chuàng)造了有利條件。
圖7顯示了在沒有風(fēng)的情況下只有重力作用時(shí)海面上海水粒子的分布情況。由于只受重力作用,受力較為均勻,海水粒子分布較為對(duì)稱整齊,趨勢(shì)平緩。圖8和圖9所示為脈沖周期為6s時(shí)各種風(fēng)場(chǎng)條件作用下海面上海水粒子的運(yùn)動(dòng)分布。取每個(gè)脈沖周期的前0.75s作為脈沖的寬度,風(fēng)速和風(fēng)向如圖左上角所注。風(fēng)力強(qiáng)度控制參數(shù)取β=1.5。
圖7 無風(fēng)條件下的海面 Fig.7 Sea surface under no wind condition
圖8 初始風(fēng)速為-18.0,0.0,-0.5時(shí)的海面 Fig.8 Sea surface at initial wind speeds of 18.0,0.0 and -0.5
圖9 初始風(fēng)速為-15.0,0.0,-8.0時(shí)不同時(shí)間點(diǎn)的海面 Fig.9 Sea surface at initial wind speeds of -15.0,0.0 and -8.0 at different time points
通過模擬LNG船舶海上航行時(shí)遇到復(fù)雜海浪和風(fēng)浪等應(yīng)急場(chǎng)景,可以輔助應(yīng)急與安全處理工作,提升應(yīng)急反應(yīng)能力。
基于Perlin噪聲和改進(jìn)對(duì)數(shù)風(fēng)廓線的隨機(jī)脈沖風(fēng)場(chǎng)進(jìn)行建模,與采用SPH建立的流體模型相比,該模型不需要對(duì)空氣粒子進(jìn)行大量的采樣工作就能實(shí)現(xiàn)理想的大風(fēng)浪場(chǎng)景。根據(jù)仿真結(jié)果可知,處于海面表面上的高處海水粒子受風(fēng)的影響較為明顯,加上其他因素影響,此時(shí)船體很容易發(fā)生顛簸。低處的海水粒子較為穩(wěn)定,受風(fēng)場(chǎng)影響較小,較難產(chǎn)生波浪翻轉(zhuǎn)的效果。該模型易于工程實(shí)現(xiàn),能適應(yīng)更多的空氣場(chǎng)景,具有較強(qiáng)的適用性。■