周哲儒, 蘇 波
(江蘇大學 土木工程與力學學院, 江蘇 鎮江 212000)
海嘯是人類近海生產作業的一大威脅,它通常是由于板塊運動和巨物的突然下墜引起,巨浪沖擊至岸邊后不僅會摧毀沿海的堤岸、碼頭、建筑等,還會席卷人類,對人民生命和財產安全造成嚴重威脅,因此,對近岸海浪爬坡高度的研究預測,對海岸工程,減少財產損失及人員傷亡具有重要意義[1]。
在研究海嘯最高爬坡高度時,通常將海嘯波簡化為孤立波計算,近年來,國內外的學者對孤立波的最大爬坡高度進行了較多的研究,主要以理論、數值模擬計算、試驗研究方面為主。理論方面,Madsen等[2]理論研究了海嘯波的波列,包括孤立波和N波的爬高和回落的解析解。試驗研究方面,Hsiao等[3]在1∶60的平攤海面上進行了破碎孤立波演化的實驗,提出了1個簡單的可用于預測(1∶15~1∶60)均勻海灘上破碎孤立波的最大爬升高度。Nimish等[4]采用1∶12的斜坡,研究了在不同波峰間距下,等高雙孤立波的爬高互相影響。榮一毅等[5]首次在1/10的斜坡上進行等三孤立波的爬高實驗,分析了孤立波爬高放大系數隨波峰間距變化的規律。數值模擬方面,Tsung[6]利用Boussinesq模型對孤立波的爬坡和漫頂進行了數值模擬。
近年來,神經網絡快速發展,它具有良好的自適應學習能力和非線性映射能力,常用于處理物理機制、因果關系復雜的非線性問題。Mandl等[7]采用遞歸神經網絡,以印西海岸實測海浪為模型,預測結果的相關系數較高。Günaydin等[8]采用前饋反饋傳播(FFBP)和廣義回歸神經網絡(GRNN)2種人工神經網絡方法預測海嘯上升高度,預測效果良好。
本文利用OpenFOAM對孤立波爬坡運動進行數值模擬,獲取相關爬高運動參數,并在此基礎上使用BP神經網絡實現了對孤立波爬坡高度的預測,輸出結果具有較好的精度。
通過OpenFOAM軟件進行模擬仿真,建立數值波浪水槽,對孤立波爬高進行數值模擬。建立如圖1所示的計算模型,圖中波高為H0,靜水面深度h0,斜坡角度為β,波浪的最大爬坡高度為R,分別建立靜水深h0為1.2 m、2.2 m、2.9 m 3種工況,模擬3種不同靜水深度情況下孤立波運動情況以獲取孤立波爬坡高度R。

圖1 數值計算模型示意圖Fig.1 Numerical calculation model diagram
圖2為通過OpenFOAM所建立的二維數值波浪水槽示意圖,其中岸灘為定床,不因波浪的影響而改變,且孤立波運動至岸邊直至破碎,靜水深計算高度始終為h0不變。

圖2 二維數值波浪水槽示意圖Fig.2 Schematic diagram of a two-dimensional numerical wave flume


圖3 不同位置處波面時程變化曲線(h0=2.2 m)Fig.3 Time history curve of wave surface at different positions(h0=2.2 m)
初始運動狀態下,波高最大,隨著不斷運動,勢能消耗,波高逐漸變小,待運動至岸邊時,孤立波破碎,波高幾乎為0,由此可見該模型較好地模擬了孤立波的實際運動狀態。為了進一步驗證模擬結果與理論值的差異,這里引入Synolakis孤立波最大爬高公式進行數值驗證,公式如下:

(1)

圖4 Synolakis理論相對爬高與數值模擬結果對比Fig.4 Synolakis theory relative climb and comparison of numerical simulation results
式中:R/h0為相對波高;h/h0為相對爬高;β為坡腳。
繪制出數值模擬真實值與通過經驗公式所得理論值的比較圖,如圖4所示。 從圖中可以看出, 理論值分布大致呈一條直線,數值模擬的實際值分布較為離散, 與理論值相比,存在一定的差距。 但從數值上分析來看, 任意一組理論值與數值模擬實際值誤差均小于0.2, 誤差最大為0.186, 最小為0.028, 平均相對誤差約為17%, 總體看來,模擬數據具有一定的精度, 較好地反映了孤立波的實際爬高情況。
BP(back propagation)神經網絡是一種按照誤差逆向傳播算法訓練的多層前饋神經網絡,它具有較強的非線性映射能力和柔性網絡結構[10],能夠通過分析大量數據來獲取其內在聯系,從而解決一些非線性問題。一個完整的神經網絡主要由輸入層、輸出層和一個或若干個隱藏層組成,通過不斷優化各層之間的連接權值、閾值,最終達到最好的擬合結果。有關BP神經網絡的網絡結構、算法原理、流程可詳見文獻[11-12]。
對孤立波的爬高進行預測,首先確定孤立波爬高的影響因素,其次獲取大量的樣本數據。
2.1.1 孤立波爬高影響因素
2.1.2 樣本數據獲取
本文共選取70組樣本,除了數值模擬的16組樣本外,另外54組來源于文獻[3],將它們打亂后隨機選取50組作為預測樣本,剩余20組作為測試樣本,樣本數據如表1所示。

表1 實測與模擬樣本數據Table 1 Measured and simulated sample data
輸入層、隱藏層、輸出層節點數分別為3、3、1,其中隱藏層為2層,學習率為0.15,最大學習次數10 000次,激活函數為對數型Sigmoid函數[14]。
訓練結果如圖5~圖7所示。由圖5可知,在訓練了10 000次左右,可以看出誤差最終介于(0,0.02)之間,訓練樣本結果實現了有效收斂。圖6繪制了20組預測樣本真實值與預測輸出值的比較,圖中可以看出,BP神經網絡對數據的預測情況較為良好,預測樣本的實際值與預測值走勢較為相同。從圖7可以更直觀的看出,樣本數據分布在直線y=x上,部分在直線兩側,擬合性較好。計算真實值與預測值的相關系數R=0.941 8,為高相關性,因此,本文提出的基于BP神經網絡的爬高預測模型具有一定的估測能力。但從圖6、圖7可看出,有幾組樣本偏離值較大,輸出結果和真實值對比存在顯著誤差,主要因為以下幾個原因:

圖5 迭代訓練圖Fig.5 Iterative training diagram predicted

圖6 預測樣本實際值與預測值比較Fig.6 Comparison of predicted value and actual value

圖7 預測樣本回歸圖Fig.7 Regression diagram of predict samples
1) 樣本容量不足。神經網絡對樣本數量具有一定的要求,樣本不足可能導致訓練得到的模型不具有一般適用性,部分樣本對模型變現較為不敏感,得不到理想輸出結果。
2) 網絡參數學習率的選取。學習率的過大會造成誤差不遞歸,不具規律性,過小則會導致訓練次數過多,誤差ei不下降。所以學習率選取也會導致最終訓練模型不具有一般適應性,即誤差仍然存在。
BP神經網絡是一種按照誤差逆向傳播算法訓練的神經網絡,它用于處理一些非線性數據類型具有巨大的優勢,本文借助BP神經網絡對孤立波爬高進行了預測,這對我國部分沿海地區評估海嘯風險、防災減災及近岸基礎設施的建設提供了參考。值得說明的是,本文的模型輸入因子僅包含靜水深、坡腳等因素,實際情況下要復雜的多,還有可能和海面上風速、海底底面的摩擦系數等因素有關[15],因此,在輸入因子選取方面可以不斷地探索以求獲得更完善的結果。