非静压模型SWASH学习(5)—— 淹没潜堤上的波浪浅化变形算例(Shoaling wave over submerged bar)


SWASH是由Delft大学开发,用于模拟非静压条件下的水动力/波浪运动的数值模型。
与模型原理相关的内容详见以下论文:

  1. SWASH: An operational public domain code for simulating wave fields and rapidly varied flows in coastal waters (Marcel Zijlema, Guus Stelling, Pieter Smit)1
  2. Computation of free surface waves in coastal waters with SWASH on unstructured grids (Marcel Zijlema)2
  3. An accurate and efficient finite-difference algorithm for non-hydrostatic free-surface flow with application to wave propagation3

其中,第2篇论文是描述了SWASH模型的最新功能,即可支持非结构化三角形网格。不过,本blog提及的算法、设置以swash结构化网格的版本为对象,不涉及非机构化网格。
对于SWASH模型,我们从论文1提及的各个验证算例开始,介绍模型配置和参数的含义。
注:有些指令、参数已经在前面的博客中进行讲解了,故之后不会再详细说明;相关内容详见之前的博文。也希望大家能留言,来相互交流!

SWASH主页:https://swash.sourceforge.io/
模型手册:https://swash.sourceforge.io/online_doc/swashuse/swashuse.html

算例简介

本blog所涉及算例详见论文《An accurate and efficient finite-difference algorithm for non-hydrostatic free-surface flow with application to wave propagation》3 的4.3节。物理实验数据也可从该文章的Figure 9、Figure 10中提取。更多的技术细节详见 Luth4 和 Dingemans5 的技术报告
本算例模拟了规则波通过一个潜堤时的浅化变形。该算例对应了Beji and Battjes (1993) 6 的物理实验,实验装置图如下所示。波浪从左侧入射,在水槽的中心区域有一个梯形的潜堤;水槽右侧则是一个斜坡。
在这里插入图片描述
模型输入文件及相关数据可下载于【传送门】。若要运行此算例,请将此下载的压缩文件解压,将含有.sws、 .loc和 .bot后缀的所有文件解压至swash.exe所在的目录下。

模型配置

根据物理实验设置,模型中设置了一个垂向二维的数值水槽。水槽的总长为 L = 30.0m。底部地形数据存储在.bot文件中,形状如下图所示。
左侧的入射波为规则波,周期 T = 2.02s,振幅 A = 1.0 cm。初始水深为0m。
在这里插入图片描述

参数设置

网格与地形

MODE DYN ONED
$
CGRID 0. 0. 0. 30. 0. 1200 0
$
VERT 2
$
INPGRID BOTTOM 0. 0. 0. 30 0 1. 1.
READINP BOTTOM 1. 'l12bbbar.bot' 1 1 FREE

本算例的计算区域长 30.0m,均分为1200个网格。垂向网格数为2。地形数据通过 INPGRID 和 READINP 指令读入。
论文《An accurate and efficient finite-difference algorithm for non-hydrostatic free-surface flow with application to wave propagation》3 比较了垂向网格为1(垂向平均)和垂向网格为2的模拟效果差别。当垂向网格为1时,模拟效果较差;而多了一层网格后,模拟效果大有改进。感兴趣的朋友可以自行修改.sws文件尝试(把 VERT 2 删去即可)。

初始条件与边界条件

INIT zero
$
BOU SIDE W CCW BTYPE VEL  SMOO 2.02 SEC CON FOUR 0. 0.0495 3.1105 90.
BOU SIDE E CCW BTYPE WLEV               CON 0.

初始条件为静止水体,水面高程为0。
为了实现左侧边界的波浪入射,物理实验和数值模型中均采用了设定左边界流速的方法来实现。BOUndary指令设置了左侧边界(W)为流速边界(VEL),采用“斜坡函数法”来平缓地载入边界条件。左边界处的流速通过一个FOURier级数的形式给定,即
v = A 0 + A c o s ( ω t + ϕ ) v=A_0 + A cos(\omega t + \phi) v=A0+Acos(ωt+ϕ)
FOURier指令后的四个参数 [azero] 、 [ampl] 、[omega] 和 [phase] 正是上式中的 A0、A、ω 和 φ。
对于右侧边界(E),模型则指定了一个固定的水位值 0.0。

物理参数

FRIC CONSTANT 0.
VISC 0.

计算域的底面设置成零阻力(自由滑移),水的粘度设置为0(无粘流动)。

数值方法

NONHYDrostatic
$
DISCRET UPW  FROMM
DISCRET UPW   UMOM V NONE
DISCRET CORR FIRST

模型采用非静压模拟(NONHYDrostatic)。
对于水平流速在水平方向上的离散,采用Fromm格式。对于水平流速在垂直方向上的离散,采用中心差分格式,而非迎风格式。
此外,对于流速计算点的水位和水深,模型采用一阶(FIRST)迎风插值的方法。

模型输出

POINTS 'stat4' 10.5 0.
POINTS 'stat5' 12.5 0.
POINTS 'stat6' 13.5 0.
POINTS 'stat7' 14.5 0.
POINTS 'stat8' 15.7 0.
POINTS 'stat9' 17.3 0.
POINTS 'stat10' 19.0 0.
POINTS 'stat11' 21.0 0.
$
TABLE  'stat4' NOHEAD 'station4.tbl' TSEC WATL OUTPUT 000000.000 0.01 SEC
TABLE  'stat5' NOHEAD 'station5.tbl' TSEC WATL OUTPUT 000000.000 0.01 SEC
TABLE  'stat6' NOHEAD 'station6.tbl' TSEC WATL OUTPUT 000000.000 0.01 SEC
TABLE  'stat7' NOHEAD 'station7.tbl' TSEC WATL OUTPUT 000000.000 0.01 SEC
TABLE  'stat8' NOHEAD 'station8.tbl' TSEC WATL OUTPUT 000000.000 0.01 SEC
TABLE  'stat9' NOHEAD 'station9.tbl' TSEC WATL OUTPUT 000000.000 0.01 SEC
TABLE  'stat10' NOHEAD 'station10.tbl' TSEC WATL OUTPUT 000000.000 0.01 SEC
TABLE  'stat11' NOHEAD 'station11.tbl' TSEC WATL OUTPUT 000000.000 0.01 SEC

输出格式设置分为两部分,第一部分设置了各个监测点(station)的位置。POINT设定了各个监测点的名字,以及后面的坐标值。例如:“POINTS ‘stat4’ 10.5 0” 表示监测点 stat4的位置在 (x, y) = (10.5m, 0.0m)。
第二部分则利用TABLE指令,以表格的方式输出了各个监测点的水位(WATL)和对应的时间(TSEC),即水位时间序列。输出的时间间隔为 0.01s,起始时间为 00:00:00.000。

计算时间

COMPUTE 000000.000 0.1 SEC 000040.000

模型计算时间为 40.0s,时间步长为0.1s。

模拟结果

将参数文件 l12bbb01.sws,以及地形数据文件 l12bbbar.bot 复制到swash.exe的同一目录下。并在这个目录下,用如下指令运行:

swashrun l12bbb01

运行完成后,得到6个结果数据文件 station[N].tbl,其中N=4、5、6、7、8、9、10和11。
通过脚本mkplot.m将结果数据绘制成点线图。matlab脚本文件也在压缩包中。同时,mkplot.m实现了数据的可视化,于是得到 bb_2.png 文件(图片如下)。
在这里插入图片描述
物理实验数据也可从论文《An accurate and efficient finite-difference algorithm for non-hydrostatic free-surface flow with application to wave propagation》3 的Figure 9、Figure 10中提取。将物理实验数据与模拟结果比较,可得到下图。
在这里插入图片描述


  1. https://doi.org/10.1016/j.coastaleng.2011.05.015 ↩︎

  2. https://doi.org/10.1016/j.compfluid.2020.104751 ↩︎

  3. https://doi.org/10.1002/fld.595 ↩︎ ↩︎ ↩︎ ↩︎

  4. Luth HR, Klopman G, Kitou N. Project 13G: Kinematics of waves breaking partially on an o?shore bar; LDV measurements for waves with and without a net onshore current. Technical Report H1573, Delft Hydraulics, 1994 ↩︎

  5. Dingemans MW. Comparison of computations with Boussinesq-like models and laboratory measurements. Technical Report H1684.12, Delft Hydraulics, 1994. ↩︎

  6. https://doi.org/10.1016/0378-3839(93)90022-Z ↩︎

  • 3
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值