黃鵬飛 張 凱 宋呈文 付深堯
(中國(guó)白城兵器試驗(yàn)中心氣象海洋水文裝備測(cè)試與評(píng)估技術(shù)實(shí)驗(yàn)室 白城 137001)
?
基于OpenFOAM的數(shù)值波浪水槽的建立與驗(yàn)證*
黃鵬飛 張 凱 宋呈文 付深堯
(中國(guó)白城兵器試驗(yàn)中心氣象海洋水文裝備測(cè)試與評(píng)估技術(shù)實(shí)驗(yàn)室 白城 137001)
論文基于粘性不可壓縮流體的N-S方程,采用開源CFD代碼OpenFOAM建立了二維數(shù)值波浪水槽,并對(duì)水槽的造波效果進(jìn)行了驗(yàn)證。結(jié)果表明:采用OpenFOAM能夠方便建立符合設(shè)計(jì)要求的數(shù)值波浪水槽;數(shù)值水槽能夠產(chǎn)生試驗(yàn)所需的規(guī)則波動(dòng);水槽消波區(qū)域作用良好,能夠消除反射波對(duì)自由波動(dòng)區(qū)域的影響。
OpenFOAM; 數(shù)值波浪水槽; 造波與消波
Class Number TP391
數(shù)值波浪水槽主要用來模擬物理實(shí)驗(yàn)波浪水槽的造波與消波功能,完成波浪及水流、泥沙與海洋工程相互作用等相關(guān)科學(xué)研究和試驗(yàn)任務(wù)。相較于傳統(tǒng)波浪水槽,數(shù)值波浪水槽具有造價(jià)低廉、數(shù)據(jù)采集容易、易于改造等特點(diǎn),是開展波浪水槽相關(guān)試驗(yàn)的有效方法。伴隨著水動(dòng)力學(xué)和計(jì)算機(jī)技術(shù)的發(fā)展,開發(fā)和應(yīng)用數(shù)值波浪水槽,已經(jīng)成為了國(guó)內(nèi)外的研究熱點(diǎn)。同時(shí),對(duì)于采用數(shù)值波浪水槽進(jìn)行的科學(xué)試驗(yàn)而言,由于其可以實(shí)現(xiàn)無觸流場(chǎng)測(cè)量,能夠有效避免試驗(yàn)中傳感器的干擾,獲得更加系統(tǒng)和詳盡的流場(chǎng)數(shù)據(jù),因而廣泛應(yīng)用于海岸、港口和海岸工程建設(shè)和研究中[1~3]。
對(duì)于數(shù)值水槽的建立而言,控制方程一般采用基于勢(shì)流理論的Laplace方程和基于粘性理論的N-S方程等。相比于Laplace方程,N-S方程能夠求解波面破碎、翻卷以及漩渦等復(fù)雜的流場(chǎng)粘性效應(yīng)變化,因而基于N-S方程建立數(shù)值波浪水槽是更好的選擇[4~5]。近年來,針對(duì)數(shù)值波浪水槽的研究不斷發(fā)展,取得了許多成果。鄒志利等、劉加海等根據(jù)物理水槽造波原理,通過造波板邊界的運(yùn)動(dòng)實(shí)現(xiàn)了規(guī)則波的造波[6~7]。Lin & Liu提出了基于N-S方程的質(zhì)量源造波方法[8]。周勤俊等采用Fluent軟件,發(fā)展了適用于VOF方法的源造波與消波技術(shù)[9]。梁修鋒等建立了基于推邊界造波和動(dòng)量源消波的數(shù)值波浪水池,模擬了規(guī)則波下的甲板上浪過程[10]。
本文采用OpenFOAM開源軟件建立數(shù)值波浪水槽實(shí)現(xiàn)數(shù)值造波與消波,OpenFOAM的造波模塊waveFoam是基于interFoam模型開發(fā)而來,根據(jù)選取的造波方式的不同,造波源項(xiàng)可以完成:線性波、橢圓余弦波、擺線波、孤立波、斯托克斯波等波動(dòng)形式的模擬。相比于傳統(tǒng)方法,采用OpenFOAM建立數(shù)值波浪水槽更加方便易用,并且能夠?qū)崿F(xiàn)多種波動(dòng)的造波,對(duì)于海洋水文試驗(yàn)保障有著一定應(yīng)用價(jià)值。
二維數(shù)值波浪水槽的控制方程采用以速度和壓力為變量的不可壓縮粘性流的的二維N-S方程和連續(xù)方程。選取x方向和z方向作為二維直角坐標(biāo)系,其中x方向水平向右,z方向垂直向上。u和w分別為兩方向的速度分量,ρ為流體密度,ν為流體的運(yùn)動(dòng)學(xué)粘性系數(shù)。
連續(xù)方程表示如下:
(1)
動(dòng)量方程表示如下:
(2)
其中,μ(x)為消波系數(shù)。對(duì)于不同區(qū)域,消波系數(shù)的表達(dá)形式不同。
本文造波源項(xiàng)采用斯托克斯波浪理論(有限振幅波理論),Stokes去掉了微振幅的局限,并且能保持波形不變。同時(shí),其考慮到了自由表面的非線性條件,得到弱非線性的二階Stokes波的波面方程和勢(shì)函數(shù),如下:
(3)
在有限振幅波理論二階近似下,波長(zhǎng)與波高是相互獨(dú)立的兩個(gè)參數(shù),而波長(zhǎng)的變化僅僅與波動(dòng)周期相關(guān),波高和周期才是真正獨(dú)立的兩個(gè)波浪要素。對(duì)于三階及三階以上的有限振幅波理論,波長(zhǎng)除了與周期相關(guān)外,也與波高有關(guān)。有限振幅波理論中,水質(zhì)點(diǎn)的運(yùn)動(dòng)軌跡不是封閉的,而是螺旋向前延伸的。并且,水質(zhì)點(diǎn)垂直方向上的運(yùn)動(dòng)平均位置在靜止位置以上。
3.1 水槽的建立方法
要想實(shí)現(xiàn)數(shù)值造波,就必須首先對(duì)實(shí)驗(yàn)所需波浪的造波參數(shù)進(jìn)行相應(yīng)計(jì)算。波浪參數(shù)的設(shè)定,需要滿足有限深度情況下波動(dòng)的速度公式:
(4)
在設(shè)定好實(shí)驗(yàn)所需的水深depth、周期T、波高h(yuǎn)eight后,根據(jù)公式迭代求解,即可得到波長(zhǎng)。
首先建立數(shù)值造波所需計(jì)算模型并對(duì)模型進(jìn)行網(wǎng)格劃分(本文采用Gambit軟件實(shí)現(xiàn)數(shù)值水槽模型建立和網(wǎng)格劃分),通過OpenFOAM的網(wǎng)格轉(zhuǎn)換程序,將生成的網(wǎng)格文件轉(zhuǎn)換到OpenFOAM計(jì)算系統(tǒng)下,并修改相應(yīng)邊界條件以備計(jì)算使用。根據(jù)計(jì)算所得波浪參數(shù),設(shè)定wavefoam數(shù)值造波的波浪參數(shù),具體在constant文件夾下的waveProperties文件設(shè)定,如圖1所示為本文設(shè)定的波浪參數(shù)文件之一。其中需要設(shè)定的參數(shù)主要為:水平面位置、造波類型、周期、圓頻率、水深、波數(shù)、波高等參數(shù),同時(shí)需要設(shè)定造波區(qū)域和消波區(qū)域,編程如下:
timeShift 0.0;
seaLevel 0.00;
relaxationNames (inlet outlet);
initializationName outlet;
pName p_rgh;
inletCoeffs
{
Tsoft 3.58;
depth 20.00;
omega 1.75508;
phi 0.000000;
waveNumber (0.3141593 0.0 0.0);
height 0.4;
relaxationZone
羊,我曾經(jīng)與它們這些牲畜朝夕相處。它們是我們那地方人來到這個(gè)世界就與其廝守一生的伴侶啊。后來,是我放棄了它們。也許從那時(shí)起,我的生命就已經(jīng)到頭了。
{
relaxationScheme Spatial;
relaxationShape Rectangular;
beachType Empty;
relaxType INLET;
startX (0 0.0 -1);
endX (40 0.0 1);
orientation (1.0 0.0 0.0);
}
};
outletCoeffs
{
waveType potentialCurrent;
U (0 0 0);
Tsoft 3.58;
relaxationZone
{
relaxationScheme Spatial;
relaxationShape Rectangular;
beachType Empty;
relaxType OUTLET;
startX (160 0.0 -1);
endX (200 0.0 1);
orientation (1.0 0.0 0.0);
}
};
OpenFOAM的數(shù)值模擬計(jì)算有其特殊性,由于不具備窗口式操作界面,所有參數(shù)設(shè)定,包括:初始條件、網(wǎng)格文件、環(huán)境參量、計(jì)算控制參量等都需要在文本文件中設(shè)定。在文件夾0下設(shè)定計(jì)算初始場(chǎng)文件,在system文件夾下controlDict文件中設(shè)定計(jì)算時(shí)間步長(zhǎng)、計(jì)算時(shí)間等參數(shù)。同時(shí),為了分析波動(dòng)傳播情況以及分析造波情況好壞,在controlDict文件中設(shè)定采樣點(diǎn)以監(jiān)視波動(dòng)發(fā)展情況好壞。各項(xiàng)控制文件設(shè)定完成后,調(diào)用wavefoam的前處理模塊,進(jìn)行波浪初始化設(shè)定,然后調(diào)用wavefoam計(jì)算程序計(jì)算即可。
3.2 結(jié)果的驗(yàn)證
為了驗(yàn)證采用OpenFOAM所建立數(shù)值波浪水槽的造波效果,本文共建立兩個(gè)不同尺寸數(shù)值波浪水槽模型,分別為水深20m和水深40m兩種情況,模擬了不同水深、不同波長(zhǎng)、不同波高等條件下波浪生成情況。兩個(gè)波浪水槽邊界類型設(shè)定一致,左邊界為波浪輸入入口,右邊界為消波區(qū)域邊界,底邊界為壁面邊界,上邊界為壓力出口邊界。
根據(jù)實(shí)驗(yàn)?zāi)康?本文共計(jì)設(shè)計(jì)了八組數(shù)值模擬造波實(shí)驗(yàn),分別為:水深20m時(shí),波長(zhǎng)10m,波高0.4m;水深20m時(shí),波長(zhǎng)10m,波高0.6m;水深20m時(shí),波長(zhǎng)20m,波高0.4m;水深20m時(shí),波長(zhǎng)20m,波高0.6m;水深40m時(shí),波長(zhǎng)20m,波高0.6m;水深40m時(shí),波長(zhǎng)20m,波高0.8m;水深40m時(shí),波長(zhǎng)40m,波高0.6m;水深40m時(shí),波長(zhǎng)40m,波高0.8m。8組數(shù)值造波實(shí)驗(yàn)編號(hào)如表1所示,以D20-L10-H0.4為例:D20表示水深20m,L10表示波長(zhǎng)10m,H0.4表示波高0.4m,其余命名標(biāo)準(zhǔn)與此一致。
表1 數(shù)值造波實(shí)驗(yàn)編號(hào)
數(shù)值造波結(jié)果的好壞主要體現(xiàn)在三個(gè)方面,首先是造波區(qū)域能夠生成符合設(shè)計(jì)需要的原始波動(dòng),這是數(shù)值造波實(shí)現(xiàn)的基礎(chǔ);其次是波浪參數(shù)設(shè)定正確且能夠保證波動(dòng)傳播到自由區(qū)域后保持原有波動(dòng)情況,這是數(shù)值造波的目的;最后就是消波區(qū)域能夠充分消除波動(dòng),避免回波影響自由區(qū)域的波動(dòng)狀況,這是數(shù)值造波實(shí)現(xiàn)的保證。依據(jù)以上因素,以D20-L20-H0.4這組實(shí)驗(yàn)為代表分析本文所建立數(shù)值波浪水槽造波效果(其余各組實(shí)驗(yàn)結(jié)果與D20-L20-H0.4基本一致,都能生成可靠的波動(dòng)場(chǎng))。
首先對(duì)造波區(qū)域中波動(dòng)情況進(jìn)行分析,對(duì)于D20-L20-H0.4而言設(shè)定造波參數(shù)為:波長(zhǎng)20m、波高0.4m、周期3.58s,圖1表示距離左邊界20m處造波區(qū)域內(nèi)一點(diǎn)的波動(dòng)隨時(shí)間變化情況(以左邊界作為零點(diǎn),0m~40m范圍為造波區(qū)域)。
圖1 距離左邊界20m處波面變化
由圖可知,此處波動(dòng)情況波高0.4m,波動(dòng)周期計(jì)算后為3.58s,同時(shí)根據(jù)表面波動(dòng)情況計(jì)算出波長(zhǎng)為20m,完全符合波浪參數(shù)設(shè)定情況,說明數(shù)值造波初始場(chǎng)設(shè)定正確。由于造波區(qū)域中的波動(dòng)情況是強(qiáng)制波動(dòng),不存在波動(dòng)傳播的衰減,因此其波動(dòng)狀況為規(guī)則變化,且完全符合造波參數(shù)設(shè)定。
圖2 距離左邊界100m處波面變化
其次,對(duì)自由波動(dòng)區(qū)域波動(dòng)情況進(jìn)行分析。圖2表示位于距離左邊界100m處自由波動(dòng)區(qū)域一點(diǎn)波動(dòng)隨時(shí)間的變化情況(以左邊界作為零點(diǎn),40m~160m范圍為自由區(qū)域)。由圖可知,由于波動(dòng)需要傳播一段時(shí)間才能到達(dá)此處,所以其波動(dòng)變化開始較造波區(qū)域晚一點(diǎn),且波動(dòng)傳播過來之后需要一定時(shí)間才能使波動(dòng)變化趨于平穩(wěn)。分析平穩(wěn)后波動(dòng)情況,可知此處波動(dòng)周期為3.58s,波長(zhǎng)為20m,與造波區(qū)域設(shè)定一致,波高約為0.39m左右,與造波區(qū)域相比略有降低。波動(dòng)從造波區(qū)域傳播到自由波動(dòng)區(qū)域之后,波動(dòng)狀態(tài)從強(qiáng)制波動(dòng)變?yōu)樽杂刹▌?dòng)狀態(tài),因此,在波動(dòng)傳播的過程中存在能量的損耗,導(dǎo)致波高相比于造波區(qū)域而言有所降低,這屬于正常情況。通過分析表明,波動(dòng)從造波區(qū)域傳播到自由區(qū)域后,波形未發(fā)生明顯變化,波動(dòng)傳播穩(wěn)定,符合造波設(shè)計(jì)要求,說明本文所建立數(shù)值波浪水槽能夠生成試驗(yàn)所需的規(guī)則波浪。
最后,對(duì)消波區(qū)域消波效果進(jìn)行分析,這也是衡量數(shù)值造波好壞的關(guān)鍵因素。消波區(qū)域的作用是消除波動(dòng),避免波動(dòng)傳播到邊界后反射影響自由區(qū)域波動(dòng)情況,消波區(qū)域設(shè)定的好壞直接影響自由波動(dòng)區(qū)域波動(dòng)場(chǎng)的好壞。圖3分別表示距離左邊界180m處和195m處位于消波區(qū)域兩個(gè)點(diǎn)的波動(dòng)隨時(shí)間變化情況(以左邊界作為零點(diǎn),160m~200m范圍為消波區(qū)域)。由圖可知,當(dāng)波動(dòng)傳播到消波區(qū)域后,波動(dòng)情況在消波區(qū)域消波項(xiàng)的作用下波動(dòng)迅速衰減,在180m處已經(jīng)基本不存在波動(dòng)情況,195m處則完全沒有波動(dòng)現(xiàn)象。因此,本文消波區(qū)域的設(shè)定完全符合設(shè)計(jì)需求。
圖3 消波區(qū)兩點(diǎn)波面變化
綜合以上三個(gè)方面,本文采用OpenFOAM的wavefoam模塊實(shí)現(xiàn)數(shù)值造波的方法是可靠的,能夠建立符合設(shè)計(jì)指標(biāo)的數(shù)值波浪水槽。無論是造波區(qū)域,自由區(qū)域,還是消波區(qū)域,都能很好地滿足設(shè)計(jì)需要,生成研究所需的波動(dòng),能夠滿足海洋水文試驗(yàn)所需造波需求。
本文基于粘性不可壓縮流體的N-S方程,采用開源CFD代碼OpenFOAM建立了二維數(shù)值波浪水槽,并通過對(duì)水槽造波區(qū)域、自由波動(dòng)區(qū)域和消波區(qū)域三個(gè)要素的分析,對(duì)水槽的造波效果進(jìn)行了驗(yàn)證,結(jié)果表明:
1) 采用OpenFOAM能夠方便地建立海洋水文試驗(yàn)所需的數(shù)值波浪水槽,通過選取不同的造波方法可以產(chǎn)生多種波動(dòng);
2) 數(shù)值波浪水槽采用的二階Stokes源造波方法能夠產(chǎn)生海洋水文試驗(yàn)需要的規(guī)則波動(dòng);
3) 數(shù)值波浪水槽的消波區(qū)域設(shè)計(jì)合理,能夠消除反射波對(duì)自由波動(dòng)區(qū)域的影響,保障試驗(yàn)區(qū)域(自由波動(dòng)區(qū)域)波動(dòng)情況不受邊界影響。
[1] 黃華,鄧冰,等.數(shù)值波浪水槽構(gòu)建與二階Stokes波仿真[J].系統(tǒng)仿真學(xué)報(bào),2012,24(1):167-171.
[2] Park J C, Kim M H, Miyala H. Three-dimensional numerical wave tank simulations on fully nonlinear wave-current-body interactions[J]. Journal of Marine Science and Technology,2001(6):70-82.
[3] G Wei, Y X You, X B Su. Two-Dimension Numerical Internal Wave tank for Navier-stokes Equation Model in the stratified Fluid[C]//Proceedings of the Fifth International Conference on Fluid Mechanics Shanghai, China Aug,2007:15-19.
[4] Harlow FH, Welch J E. Numerical calculation of time-dependent viscous incompressible flow[J]. Physics of Fluids,1965,8:2182-2189.
[5] Orlansk I. A simple boundary condition for unbounded hyperbolic flows[J]. Journal of Computational Physics,1976,21:251-269.
[6] 鄒志利,邱大洪,王永學(xué).VOF方法模擬波浪槽中二維非線性波[J].水動(dòng)力學(xué)研究與進(jìn)展,1996,11(1):93-103.
[7] 劉加海,楊永全,張洪雨,等.二維數(shù)值水槽波浪生成過程及波浪形態(tài)分析[J].四川大學(xué)學(xué)報(bào)(工程科學(xué)版),2004,36(6):28-31.
[8] Lin P, LIU P L F. Internal wave maker for navier stokes equations models[J]. Joural of Waterway, Port, Coastal and Ocean Engineering,1999,125(4):207-217.
[9] 周勤俊,王本龍,蘭雅梅,等.海堤越浪的數(shù)值模擬[J].力學(xué)季刊,2005,26(4):629-633.
[10] 梁修鋒,楊建民,李欣,等.FPSO甲板上浪的數(shù)值模擬[J].水動(dòng)力學(xué)研究與進(jìn)展,2007,22(2):229-236.
Building and Verification of Numerical Wave Tank Based on OpenFOAM
HUANG Pengfei ZHANG Kai SONG Chengwen FU Shenyao
(Meteorological and Ocean Hydrological Equipments Test & Evaluation Technology Laboratory, Baicheng Ordnance Test Center, Baicheng 137001)
Based on the Navier-Stokes equations for viscous and incompressible fluid, a two dimensional numerical wave tank was established using OpenFOAM. Then, typical stokes was simulated and verified in this 2D numerical wave tank. The result showed that numerical wave tank could be established using OpenFOAM. The wave generating and absorbing function worked well. Within the numerical wave flume, the reflected waves from the construction could be absorbed effectively.
OpenFOAM, numerical wave tank, wave generating and absorbing
2014年12月4日,
2015年1月11日
黃鵬飛,男,碩士研究生,助理工程師,研究方向:流體動(dòng)力模擬及其海洋應(yīng)用。
TP391
10.3969/j.issn1672-9730.2015.06.021