非静压模型NHWAVE学习(10)——海底滑坡引体发涌浪的模拟算例(Three-dimensional rigid submarine slide)

NHWAVE海底滑坡体算例学习(Three-dimensional rigid submarine slide)

本blog介绍了NHWAVE模型自带算例 Three-dimensional rigid submarine slide 的编译运行;并分享了该算例配置文件、模拟结果的学习记录。
关于该算例的详细描述见 NHWAVE 模型手册 5.4 和 Ma等人的论文1

此外,本人在NHWAVE原版源代码基础上,更新了垂向网格分层百分比可指定、被动示踪剂输移、温度场输入输出等模块,并修正了植被水流模型中的一些BUG。有兴趣的朋友请上我的GitHub下载代码。

欢迎各位朋友对此提出指导意见;大家可以一起交流,共同进步!

算例简介

海底滑坡是沿海地区引发涌浪,甚至海啸的机制之一。 在本算例中,我们用一个理想化的模型来模拟海底滑坡引发涌浪的过程。模型中用了NHWAVE的LANDSLIDE 模块,可用于检验 NHWAVE 中滑坡体模型的模拟性能。相应的物理实验详见 Enet and Grilli (2007) 2

对于LANDSLIDE模拟,其模型基本原理和数值方法与普通的波浪模拟相同;不同之处在于动压力边界条件的处理。在一般情况下,底面的动压力边界条件为Neumann边界条件,即:
在这里插入图片描述
而在LANDSLIDE中,动压力边界条件则为:
在这里插入图片描述
对于这部分的细节描述详见 Ma et. al (2012)1

模拟所需参数文件和初始水深文件在代码包 /examples/landslide_benchmarks/BM2_enet_grilli 目录下。

地形与网格

Enet and Grilli (2007) 的物理实验是在一个长30m,宽3.7m的波浪水槽中进行的。水槽底部有一个斜坡,坡度为15°。在实验开始时,一个宽为b、高为T的刚性滑坡体位于水底的斜坡上;随后,这个滑坡体以 s(t) 的速度向下滑去(如图所示)。
在这里插入图片描述
该滑坡体的厚度满足如下的关系式:
在这里插入图片描述
式中,滑坡体长度 b=0.395m,宽度 w=0.680m,最大厚度 T=0.082m;截断参数 ε = 0.717,滑坡速度:
在这里插入图片描述
其中的 s0 和 t0 为:
在这里插入图片描述
式中,ut=1.70m/s 表示滑坡体的末速度,a0=1.12m/s2表示初始加速度。

为了模拟上述滑坡体的运动,我们在数值模型中,设置一个长长10.0m,宽1.8m的三维水槽与之对应(如下图所示)。计算域的水平方向采用均匀网格,Δx=Δy=0.02m;垂直方向等上设置3个均匀的σ网格层。
在这里插入图片描述

网格参数详见 input.txt 中dimension、grid等部分。

! --------------------DIMENSION---------------------------------
! cell numbers
Mglob = 500
Nglob = 90
Kglob = 3
! ------------------------GRID----------------------------------
! grid sizes
DX = 0.02
DY = 0.02
! ---------------------VERTICAL GRID OPTION--------------------
! IVGRD = 1: uniform; 2: exponential
IVGRD = 1
GRD_R = 1.1

运行参数配置

首先需要确定边界条件。在本例中,数值水槽的底面和侧面均采用滑移边界条件;参数设定如下:

! -------------------BOUNDARY_TYPE--------------------------------
! bc_type=1: free-slip
!         2: no-slip
!         3: influx
!         4: outflux (specified eta)
!         5: bottom or wall friction
!         6: radiation bc
BC_X0 = 1
BC_Xn = 1
BC_Y0 = 1
BC_Yn = 1
BC_Z0 = 1
BC_Zn = 1

滑坡体的参数设置详见 input.txt 的 LANDSLIDE PARAMETERS 部分:

! -------------------LANDSLIDE PARAMETERS------------------------
! parameters for landslide module
! SlideType = 'RIGID_2D', 'RIGID_3D' or 'DEFORMABLE'
! SlideT: thickness; SlideL: length; SlideW: width
! SlideAngle: slide angle
! SlopeAngle: bottom slope
! SlideX0,SlideY0: initial location
! SlideUt,SlideA0: rigid landslide kinematics
! SlideDens: deformable landslide density
SlideType = RIGID_3D
SlideT = 0.082
SlideL = 0.395
SlideW = 0.680
SlideAngle = 0.0
SlopeAngle = 15.0
SlideX0 = 0.651
SlideY0 = 0.0
SlideUt = 1.70
SlideA0 = 1.12
SlideDens = 2104.0
SlideVisc = 0.00001
SlideLambda = 0.5
SlideIniU = 0.0
Cf_ul = 0.02
PhiInt = 41.0
PhiBed = 23.0

由上可知,滑坡体为刚性物(SlideType = RIGID_3D),其几何参数通过Slide、SlideL、SlideW来设定。滑坡体的初始位置由SlideX0、SlideY0指定(设定了滑坡体的中心位置)。滑坡体的运动参数通过SlideUt(末速度)和SlideA0(初始加速度)来设定。

模型的编译运行

首先,修改makefile进行模型编译。在Makefile中,删除FLAG_3 = -DLANDSLIDE行首的注释,即开启Landslide模块。之后,通过make指令进行模型的编译。

将代码包 /examples/landslide_benchmarks/BM2_enet_grilli 目录下的 input.txt 、 depth.txt 和 stat.txt 复制到 nhwave 所在的运行文件夹内。再运行模型nhwave。

模拟结果

下面给出数值水槽中 (x,y) = (1.469m, 0.350m)、(1.929m, 0)和(1.929m, 0.500m)处的水位变化η(t),及其与物理实验结果的对比图;其中,x表示点到坡顶线的距离。图中实线表示数值模拟结果,虚线表示物理实验结果。
在这里插入图片描述


  1. Ma G , Shi F , Kirby J T . Shock-capturing non-hydrostatic model for fully dispersive surface wave processes[J]. Ocean Modelling, 2012, 43-44(22-35):22-35. ↩︎ ↩︎

  2. Enet F , Grilli S T . Experimental Study of Tsunami Generation by Three-dimensional Rigid Underwater Landslides[J]. Journal of Waterway Port Coastal & Ocean Engineering, 2007. ↩︎

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值