孟江山,路川藤,羅小峰,丁 偉
(1.中交廣州航道局有限公司,廣東 廣州 510000;2.南京水利科學(xué)研究院,江蘇 南京 210029;3.河海大學(xué),江蘇 南京 210024)
廈門(mén)周邊海域島嶼眾多,潮汐汊道交錯(cuò),水流運(yùn)動(dòng)較為復(fù)雜。廈門(mén)海域潮汐屬于正規(guī)半日潮[1],潮波主要受來(lái)自臺(tái)灣海峽的潮波傳播影響,水動(dòng)力強(qiáng)度相對(duì)較弱,且主要由潮汐作用引起[2]。由于廈門(mén)附近海域近年來(lái)圍墾較多,因此眾多學(xué)者研究廈門(mén)海域潮流泥沙運(yùn)動(dòng)較多,而系統(tǒng)性的潮波傳播研究成果相對(duì)較少,如謝森揚(yáng)[3]、陸榮華[4]均系統(tǒng)研究了廈門(mén)歷史圍填海的水動(dòng)力、水環(huán)境問(wèn)題,許婷[5]、陳純等[6]還針對(duì)具體工程問(wèn)題研究了局部海域水沙環(huán)境問(wèn)題。潮波傳播理論體系目前已相對(duì)成熟[7],研究方法以實(shí)測(cè)資料分析和數(shù)學(xué)模型模擬兩種手段為主,實(shí)測(cè)資料分析以調(diào)和分析[8-9]、神經(jīng)網(wǎng)絡(luò)[10]等方法為主,數(shù)學(xué)模型模擬可以彌補(bǔ)實(shí)測(cè)資料時(shí)段短及區(qū)域覆蓋面局限等缺點(diǎn),因此被廣泛應(yīng)用[11-12],近年來(lái),隨著計(jì)算機(jī)科學(xué)的發(fā)展,數(shù)學(xué)模型計(jì)算正朝著高分辨率、高計(jì)算效率方向發(fā)展[13],特別是GPU(Graphics Processing Unit)并行計(jì)算,大幅度節(jié)省了數(shù)學(xué)模型的計(jì)算時(shí)間,使得數(shù)學(xué)模型可以快速實(shí)現(xiàn)精細(xì)化、實(shí)時(shí)化模擬預(yù)報(bào),如龔佳輝等[14]在城市雨洪模擬中,認(rèn)為GPU并行可提速23.88~158.72倍。本文在前人研究的基礎(chǔ)上,采用GPU并行算法模擬廈門(mén)周邊海域潮波傳播,深入研究廈門(mén)附近海域潮波傳播特征,為相關(guān)工程建設(shè)和規(guī)劃提供技術(shù)支撐。
2.1 離散方法 數(shù)學(xué)模型采用具有自主知識(shí)產(chǎn)權(quán)的數(shù)值模擬系統(tǒng)CJK3D-WEM計(jì)算,該系統(tǒng)于2014年取得國(guó)家軟件著作權(quán)登記,適用于江河湖泊、河口海岸等涉水工程中的水動(dòng)力、泥沙、水質(zhì)、溫排和溢油模擬預(yù)測(cè)研究。
對(duì)于水平尺度遠(yuǎn)大于垂直尺度的河口海岸地區(qū),通過(guò)一定的假設(shè)條件(均質(zhì)不可壓、靜壓、剛蓋、Boussinesq等假定),沿水深方向積分取平均,可得到平面二維水動(dòng)力方程:
式中:H為總水深,m;z為水位,m;u、v流速矢量V沿x、y方向的速度分量,m/s;t為時(shí)間,s;f為科氏力,s-1;g為重力加速度,m/s2;Nx、Ny為x、y向水流紊動(dòng)黏性系數(shù),m2/s;C為謝才系數(shù)。
控制方程式(1)向量形式可表示為:
其中:
其中:
紊動(dòng)擴(kuò)散項(xiàng):
其中:
源項(xiàng)M表示為:
式中:Mox、Moy分別為x、y方向的河床底部高程變化;Mfx、Mfy分別為x、y方向的底摩擦項(xiàng)。
采用三角形網(wǎng)格作為控制單元,水深布置在網(wǎng)格頂點(diǎn),其他物理變量配置在每個(gè)單元的中心。將第i號(hào)控制元記為Ωi,在Ωi上對(duì)向量式的基本方程組(2)進(jìn)行積分,并利用Green公式將面積分化為線(xiàn)積分,得:
式(3)求解主要分三部分,一為對(duì)流項(xiàng)求解,二為紊動(dòng)項(xiàng)求解,三為底坡項(xiàng)處理。對(duì)流項(xiàng)的數(shù)值通量采用Roe格式的近似Riemann解,紊動(dòng)項(xiàng)采用單元交界面的平均值,計(jì)算通過(guò)該界面紊動(dòng)黏性項(xiàng)的數(shù)值通量,底坡項(xiàng)采用斜底方法處理。
式(3)中對(duì)流項(xiàng)可表示為:
(E?n)R和(E?n)L分別為交界面兩側(cè)的數(shù)值通量,可表示為:
其中:
這里λk和ek(k=1,2,3)分別為對(duì)流項(xiàng)特征矩陣A的特征值和特征向量,滿(mǎn)足:ΔE?=AΔU ,特征矩陣形式如下:
矩陣中的u?、v?和c?分別采用質(zhì)量加權(quán)平均計(jì)算,表達(dá)如下:
矩陣A的特征值和特征向量均可計(jì)算得出,見(jiàn)文獻(xiàn)[15]。
水平擴(kuò)散項(xiàng)含有二次項(xiàng),是離散淺水方程的難點(diǎn)之一。本文采用單元交界的平均值計(jì)算通過(guò)該界面擴(kuò)散項(xiàng)的數(shù)值通量,這樣處理算法簡(jiǎn)單、效率高。式(3)中的水平擴(kuò)散項(xiàng)可表示為:
對(duì)于上式的偏導(dǎo)數(shù)可用如下方式求解:
底坡項(xiàng)采用斜底模型求解,記某個(gè)控制體三個(gè)頂點(diǎn)坐標(biāo)為xi,yi,zi(i=1,2,3),三個(gè)頂點(diǎn)按逆時(shí)針?lè)较蚺判?,由這三個(gè)頂點(diǎn)確定的平面方程為:
其中:
其中:當(dāng)Dz≠0時(shí),
2.2 GPU并行計(jì)算 并行計(jì)算是指同時(shí)使用多種計(jì)算資源解決計(jì)算問(wèn)題的過(guò)程,是提高計(jì)算機(jī)系統(tǒng)計(jì)算速度和處理能力的一種有效手段。目前,流體力學(xué)并行計(jì)算一般基于CPU和GPU兩種手段,CPU單核計(jì)算能力強(qiáng),但核心數(shù)量較少,從而限制了并行計(jì)算能力,GPU雖單核計(jì)算能力差,但核心數(shù)量多,因此并行計(jì)算效率較CPU強(qiáng)。
GPU并行計(jì)算程序基于CUDA架構(gòu)下的C語(yǔ)言編寫(xiě),采用單精度算法。GPU并行計(jì)算流程見(jiàn)圖1,當(dāng)CPU計(jì)算參數(shù)通過(guò)cudaMemcpy(dev_input,input,sizeof(int),cudaMemcpyHostToDevice)函數(shù)傳遞給GPU后,GPU通過(guò)核函數(shù)kernel實(shí)現(xiàn)大量并行執(zhí)行線(xiàn)程,從而達(dá)到并行計(jì)算的效果,GPU計(jì)算結(jié)果通過(guò)cudaMemcpy(result,dev_result,sizeof(int),cudaMemcpyDeviceToHost)函數(shù)反饋給CPU,需要說(shuō)明的是CPU與GPU之間的數(shù)據(jù)交換耗時(shí)較長(zhǎng),因此實(shí)際計(jì)算過(guò)程中應(yīng)盡量降低二者之間的數(shù)據(jù)交換頻率,以過(guò)丘流算例為例進(jìn)行說(shuō)明,計(jì)算采用的CPU型號(hào)為E5-1630V4CPU(8核心),GPU型號(hào)為NVIDIA Ge?force RTX2080(2944核心)。
圖1 GPU并行計(jì)算流程圖
建立了長(zhǎng)60 m,寬6 m的數(shù)值水槽,以三角形單元?jiǎng)澐志W(wǎng)格,網(wǎng)格總數(shù)約為20 000個(gè),空間步長(zhǎng)最小約為0.13 m,模型范圍與地形等見(jiàn)圖2(a)和圖2(b),不考慮紊動(dòng)黏性系數(shù),模擬有激波條件下的過(guò)丘流,水槽上游徑流取0.18 m3/s,下游水位-0.07 m,模擬時(shí)間1 h,由于控制方程離散格式為顯式,時(shí)間步長(zhǎng)受Courant數(shù)約束,因此時(shí)間步長(zhǎng)取值0.003s,需運(yùn)行1 200 000次循環(huán)方可完成模擬。圖2(c)為CPU單核(單精度)與GPU并行(單精度)計(jì)算結(jié)果與解析解的對(duì)比,計(jì)算精度一致。圖3為GPU并行計(jì)算過(guò)程中,GPU與CPU之間的數(shù)據(jù)交換頻次對(duì)耗時(shí)的統(tǒng)計(jì),當(dāng)采用CPU單核進(jìn)行計(jì)算時(shí),計(jì)算用時(shí)約36 h,若GPU并行計(jì)算過(guò)程中,GPU與CPU之間實(shí)時(shí)(即每步)進(jìn)行數(shù)據(jù)交換,則計(jì)算效率嚴(yán)重降低,耗時(shí)超過(guò)72 h,隨著GPU與CPU數(shù)據(jù)交換頻次的降低,計(jì)算時(shí)間呈指數(shù)下降趨勢(shì),當(dāng)GPU每模擬15 s(5000步)與CPU數(shù)據(jù)交換1次后,計(jì)算耗時(shí)趨于穩(wěn)定,約為11~12 min,與CPU單核計(jì)算相比,計(jì)算效率提高約180倍。
圖2 有激波的過(guò)丘流數(shù)值模擬
圖3 GPU并行計(jì)算效率統(tǒng)計(jì)
3.1 研究范圍與模型參數(shù) 廈門(mén)海域數(shù)學(xué)模型范圍如圖4所示,包括同安灣、九龍江口、圍頭灣等廈門(mén)島及周邊水域,模型北側(cè)邊界至泉州市崇武鎮(zhèn),南邊界至漳州市東山縣北側(cè),模型總長(zhǎng)約178 km,寬約105 km。外海邊界采用潮位控制,由全球潮汐預(yù)報(bào)模型Nao-test計(jì)算。模型網(wǎng)格總數(shù)為157 818個(gè),工程水域網(wǎng)格加密,見(jiàn)圖4,最大網(wǎng)格邊長(zhǎng)1825 m,最小網(wǎng)格邊長(zhǎng)30 m,模型水深采用2019年最新電子海圖數(shù)據(jù)。數(shù)學(xué)模型時(shí)間步長(zhǎng)取1 s,糙率采用附加糙率0.013+0.012/h(h表示水深,當(dāng)h小于1 m時(shí),糙率取0.015),紊動(dòng)黏性系數(shù)采用0.1hU*計(jì)算(U*為摩阻流速)。
圖4 數(shù)學(xué)模型范圍及網(wǎng)格示意圖
3.2 模型驗(yàn)證 模型采用2019年3月22—23日同安灣大潮同步水文測(cè)驗(yàn)資料和2019年國(guó)家海洋信息中心廈門(mén)站潮汐表資料作為模型驗(yàn)證資料,驗(yàn)證點(diǎn)位置見(jiàn)圖4。圖5和圖6為2019年3月大潮潮位驗(yàn)證,圖7和圖8為對(duì)應(yīng)的潮流驗(yàn)證。由圖5—圖8知,潮位計(jì)算值與實(shí)測(cè)值吻合較好,高低潮位偏差基本在0.1 m之內(nèi),流速和流向?qū)崪y(cè)值和計(jì)算值吻合亦較好。
圖5 T1站潮位驗(yàn)證
圖6 T2站潮位驗(yàn)證
圖7 A3站潮流驗(yàn)證
圖8 A6站潮流驗(yàn)證
圖9為廈門(mén)站2019年全年潮汐表潮位驗(yàn)證,采用GPU并行計(jì)算2019年全年的潮波傳播過(guò)程共耗時(shí)約30 h,GPU每模擬30 min與CPU數(shù)據(jù)交換1次,采用CPU單核計(jì)算,耗時(shí)約5475 h,計(jì)算效率提高約180倍。對(duì)于長(zhǎng)時(shí)序驗(yàn)證,可用Skill值表達(dá)模型驗(yàn)證質(zhì)量,Skill值計(jì)算見(jiàn)式(11),當(dāng)Skill值為1時(shí),模型驗(yàn)證完美,Skill值越小,計(jì)算偏差越大,本文廈門(mén)站潮位統(tǒng)計(jì)Skill值為0.926,說(shuō)明數(shù)學(xué)模型計(jì)算的廈門(mén)附近海域潮波傳播相似性較好。
圖9 廈門(mén)站潮汐表潮位驗(yàn)證
式中:Xmod為模型值;Xobs為觀測(cè)值(本文為潮汐表預(yù)報(bào)值);為觀測(cè)平均值。
4.1 汊道潮流特征 廈門(mén)周邊海域島嶼眾多,地形邊界相當(dāng)復(fù)雜,漲落潮流在不同區(qū)域存在時(shí)間或者空間的不平衡。漲潮時(shí)(圖11(a)),外海水流自圍頭灣和廈門(mén)灣兩個(gè)口門(mén)向廈門(mén)島方向運(yùn)動(dòng),廈門(mén)灣口門(mén)處的漲潮流運(yùn)動(dòng)至金門(mén)島西側(cè)時(shí),在廈門(mén)島的阻水作用下,水流分為向九龍江口和同安灣兩個(gè)方向的水流,向同安灣方向的水流與圍頭灣的漲潮流在廈門(mén)島東北側(cè)匯合,進(jìn)而向同安灣運(yùn)動(dòng)。落潮時(shí)(圖11(b)),同安灣的水體自廈門(mén)島東西兩側(cè)向外海運(yùn)動(dòng),金門(mén)島北側(cè)由于水深相對(duì)較淺,大部分落潮流向圍頭灣運(yùn)動(dòng),小部分向烈?guī)Z鄉(xiāng)方向運(yùn)動(dòng),九龍江口的落潮流在廈門(mén)島西南側(cè)與同安灣的落潮流匯合,并向外海運(yùn)動(dòng)。
圖11 廈門(mén)附近海域漲落急流場(chǎng)分布圖
表1統(tǒng)計(jì)了廈門(mén)島周邊的年平均漲落潮流量,斷面位置見(jiàn)圖10。由表1可知,廈門(mén)島南側(cè)(斷面A)與東側(cè)漲潮流量(斷面B+C)基本相當(dāng),圍頭灣處的漲潮流量(斷面D)相對(duì)較小,不足前述斷面的三分之一,落潮流量分布趨勢(shì)與漲潮基本一致,由于金門(mén)島北側(cè)部分落潮流向烈?guī)Z鄉(xiāng)方向,因此廈門(mén)島東側(cè)落潮流量大于南側(cè)。由此可見(jiàn),廈門(mén)島周邊的潮量主要來(lái)自廈門(mén)灣口門(mén)。
表1 廈門(mén)灣各汊道年平均流量統(tǒng)計(jì) (單位:m3/s)
圖10 采樣點(diǎn)位置圖
4.2 汊道潮位特征 圖12為廈門(mén)附近海域汊道沿程年平均高、低潮位分布特征。潮波自外海向口門(mén)內(nèi)傳播,在徑流、地形及岸線(xiàn)邊界的影響下,高潮位總體呈逐漸升高的趨勢(shì),圍頭灣及九龍江口沿線(xiàn)高潮位變化相對(duì)較平緩,同安灣沿線(xiàn)高潮位在廈門(mén)島東側(cè)波動(dòng)較大,主要因?yàn)樽詮B門(mén)灣口門(mén)和圍頭灣口門(mén)進(jìn)入的潮波在廈門(mén)島東北側(cè)(5#點(diǎn)附近)匯合,而金門(mén)島北側(cè)(6#點(diǎn))高潮位明顯高于廈門(mén)島東側(cè)(19#點(diǎn)),因此在水流匯合處(5#點(diǎn))高潮位升高幅度較大,約為0.11 m,且同安灣高潮位明顯高于九龍江口和圍頭灣。低潮位自外海至口門(mén)內(nèi),圍頭灣及九龍江口沿線(xiàn)呈逐漸降低的趨勢(shì),潮差逐漸增大;同安灣沿線(xiàn)低潮位變化較為復(fù)雜,對(duì)于灣內(nèi)的1#—5#點(diǎn)影響,受徑流、地形及圍頭灣低潮位低的影響,越往灣頂?shù)统蔽辉礁撸?9#以外各點(diǎn)低潮位受外海低潮位的影響,低潮位升高約0.10 m。由于廈門(mén)島東北側(cè)是廈門(mén)灣和圍頭灣兩股潮波傳播的交匯點(diǎn),因此該處高低潮位波動(dòng)較大,但總體來(lái)看交匯處5#采樣點(diǎn)的高低潮位與圍頭灣處的6#點(diǎn)更為接近,與廈門(mén)島東側(cè)的19#點(diǎn)差異較大,因此同安灣的潮波特性與圍頭灣潮波特性更為相似。
圖12 廈門(mén)附近海域沿程年平均高、低潮位分布
潮波從外海進(jìn)入河口區(qū)后,口門(mén)位置和形態(tài)的差異導(dǎo)致潮波在傳播過(guò)程中的變形程度也不同,本節(jié)采用具有自主知識(shí)產(chǎn)權(quán)的CJK-TIDE軟件,對(duì)數(shù)學(xué)模型計(jì)算結(jié)果進(jìn)行調(diào)和分析計(jì)算,以此分析潮波在傳播過(guò)程中的特征和差異,分潮數(shù)采用63個(gè)分潮。圖13為廈門(mén)島附近18#點(diǎn)(位置見(jiàn)圖10)部分分潮振幅的分布,由圖13知,半日分潮M2分潮占絕對(duì)主導(dǎo)地位,其振幅占所有分潮振幅和的41.2%,S2分潮振幅次之,二者占所有分潮振幅和的53.3%,全日分潮K1分潮振幅值最大。圖14和圖15為廈門(mén)附近海域半日分潮M2、全日分潮K1分潮振幅與初相角沿程分布,由圖14和圖15知,M2分潮自外海向同安灣及九龍江口方向,振幅和初相角總體呈增大趨勢(shì),同安灣與外海的振幅比約為1.13,九龍江口與外海的振幅比約為1.24,潮波自圍頭灣向同安灣方向傳播時(shí),至5#、6#點(diǎn)時(shí),振幅降低,這主要因?yàn)樵撎幨軓B門(mén)灣和圍頭灣兩股潮波傳播影響,而廈門(mén)灣的振幅明顯低于圍頭灣(圖14);K1分潮自圍頭灣向同安灣傳播過(guò)程中,振幅先增大后減小,在圍頭灣7#位置達(dá)到最大,K1分潮自外海向九龍江口傳播過(guò)程中,振幅持續(xù)增大,由圖15可明顯看出,九龍江口全日振幅明顯大于同安灣。圖16為廈門(mén)附近海域淺水影響系數(shù)沿程分布變化,淺水影響系數(shù)一般用HM4/HM2表示,表征潮波變形的程度,由圖16知,淺水影響系數(shù)自外海向同安灣和九龍江口方向均呈逐漸增大的趨勢(shì),說(shuō)明潮波向岸邊傳播過(guò)程中,潮波變形逐漸加劇,同安灣潮波變形程度大于九龍江口。
圖13 廈門(mén)島附近18#采樣點(diǎn)部分分潮振幅分布
圖14 廈門(mén)附近海域M2分潮振幅與初相角沿程分布特征
圖15 廈門(mén)附近海域K1分潮振幅與初相角沿程分布特征
圖16 廈門(mén)附近海域淺水影響系數(shù)沿程分布特征
(1)構(gòu)建了廈門(mén)及其附近海域高分辨率二維潮流數(shù)學(xué)模型,研究了GPU并行計(jì)算效率,結(jié)果表明GPU并行較CPU單核計(jì)算效率可提高約180倍。
(2)廈門(mén)島南側(cè)(斷面A)與東側(cè)漲落潮流量(斷面B+C)較為接近,圍頭灣處的漲落潮流量(斷面D)相對(duì)較小,說(shuō)明廈門(mén)島附近潮量主要來(lái)自廈門(mén)灣。潮波自外海向九龍江口、圍頭灣方向傳播,高潮位逐漸升高,低潮位逐漸降低,潮差增大。同安灣方向潮波受廈門(mén)灣和圍頭灣兩股潮波影響,其潮波特性與圍頭灣更為相似。
(3)潮汐調(diào)和分析結(jié)果表明,廈門(mén)海域M2分潮占絕對(duì)主導(dǎo)地位,其振幅占所有分潮的41.2%,S2分潮振幅次之,二者占所有分潮振幅和的53.3%,全日分潮K1分潮振幅值最大。同安灣與九龍江口M2分潮振幅接近,K1分潮九龍江口振幅較大,潮波變形程度同安灣較大。