非静压模型SWASH学习(8)——三维孤立波在锥形岛屿上的爬坡过程(Runup of solitary waves on a conical island)

news2024/7/7 15:38:56

三维孤立波在锥形岛屿上的爬坡过程(Runup of solitary waves on a conical island)

  • 算例简介
  • 模型配置
  • 网格及参数设置
    • 网格与地形
    • 初始条件与边界条件
    • 数值求解方法
    • 输出设置
    • 模拟时间
  • 波浪(孤立波)入射边界的时间序列.bnd文件
  • 模拟结果
    • 注意

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主页:https://swash.sourceforge.io/
模型手册:https://swash.sourceforge.io/online_doc/swashuse/swashuse.html

算例简介

本算例模拟了表面孤立波在经过一个圆锥形岛屿时候的波形演变,其中还涉及了内孤立波传播、爬坡等过程。本例的模型配置详见Stelling&Zijlema3和Briggs et al. (1982)4
模型输入文件及相关数据可下载于【传送门】。若要运行此算例,请将此下载的压缩文件解压,将含有.sws、 .bot和 .bnd后缀的所有文件解压至swash.exe所在的目录下。

模型配置

模拟区域长Lx = 25.0m,宽Ly = 30.0m,如下图所示。计算域内有一高为0.625m的圆台,圆台中心的坐标为(x, y) = (12.96m, 13.80m);圆台顶面的直径为2.2m,底面直径为7.2m。孤立波从左边界x = 0处射入,波高与水深的比值设置为H/h = = 0.045、0.096和0.181,静止水深h = 0.32m。
在这里插入图片描述
此外,模型区域中有若干测点,如下图中蓝点所示。本次实验涉及的测点有:

测点编号x坐标/my坐标/m
‘gauge3’6.8213.05
‘gauge6’9.3613.80
‘gauge9’10.3613.80
‘gauge16’12.9611.22
‘gauge22’15.5613.80

网格及参数设置

本节将以H/h = 0.096所对应工况的实验为例,介绍模型运行步骤及运行结果。各工况对应的.sws配置文件类似。

网格与地形

本算例的参数文件中省略了MODE和vert,故采用默认设置 MODE TWODimensional和VERT 1,即该数值模型为平面的二维模型。
在这里插入图片描述

CGRID 0. 0. 0. 25. 30. 500 600
$
INPGRID BOTTOM 0. 0. 0. 500 600 0.05 0.05
READINP BOTTOM 1. 'l51conic.bot' 3 0 FREE

计算域的原点为(0.0, 0.0),两个方向的长度分别为25.0m和30.0m。x方向和y方向的网格数分别为500和600,即Δx=0.05m、Δy=0.05m。
之后,通过INPGRID和READINP指令,从文件’l51conic.bot’中读取地形数据。

初始条件与边界条件

INIT zero
$
BOU SIDE W CCW BTYPE WEAK CON SERIES 'l51con02.bnd'
BOU SIDE E CCW BTYPE RADIATION

INIT指令设定初始条件,即初始时水位和流速值均为零。
BOU指令设定了模型的左侧(West, x=0)和右侧(East, x=25.0m)边界的边界条件。首先,孤立波从左侧入射,其类型为弱反射(WEAKREFL);对于这种类型的边界,我们需要指定边界处的水位值,而且该边界水位值的时间序列(SERIES)在l51con02.bnd文件中。该文件中时间序列的格式如下,即该文件中含有两列数据,第一列表示时间,第二列表示对应的水位值。
在这里插入图片描述
对于右侧边界,本模型采用了辐射边界(RADIATION),以使得孤立波能向右传出右侧边界,壁面右侧边界的波浪反射影响到计算域。

数值求解方法

BREAK
NONHYDROSTATIC
$
DISCRET UPW FIRST
DISCRET CORRDEP FIRST

首先,模型采用了非静压模拟(NONHYDrostatic)的方法,并在计算中考虑了波浪破碎引起的能量耗散(BREAK)。对于BREAK指令更多的内容详见SWASH手册。
对于水平流速,模型采用一阶迎风格式(UPWind FIRST)进行计算;对于水位,模型也采用一阶格式进行重构与计算(CORRDEP FIRST)。

输出设置

POINTS 'gauge3'   6.82 13.05
POINTS 'gauge6'   9.36 13.80
POINTS 'gauge9'  10.36 13.80
POINTS 'gauge16' 12.96 11.22
POINTS 'gauge22' 15.56 13.80
$
TABLE  'gauge3'  NOHEAD 'gauge3.tbl'  TSEC WATL OUTPUT 000000.000 0.01 SEC
TABLE  'gauge6'  NOHEAD 'gauge6.tbl'  TSEC WATL OUTPUT 000000.000 0.01 SEC
TABLE  'gauge9'  NOHEAD 'gauge9.tbl'  TSEC WATL OUTPUT 000000.000 0.01 SEC
TABLE  'gauge16' NOHEAD 'gauge16.tbl' TSEC WATL OUTPUT 000000.000 0.01 SEC
TABLE  'gauge22' NOHEAD 'gauge22.tbl' TSEC WATL OUTPUT 000000.000 0.01 SEC
$
GROUP 'COMPGRD' 1 501 1 601
BLOCK 'COMPGRD' NOHEAD 'l51con02.mat' LAY 3 XP YP HRUNUP

输出的结果文件有两类。第一类是TABLE所对应的时间序列文件(.tbl),它输出了某一点水位的时间序列。第二类是.mat文件,它包含了整个计算域内的波浪爬升高度(HRUNUP)。

模拟时间

TEST 1,0
COMPUTE 000000.000 0.01 SEC 000025.000
STOP

模型计算时间为 25.0s,时间步长为 0.01s。

波浪(孤立波)入射边界的时间序列.bnd文件

本实验中,孤立波波面方程采用Laitone (1960)5得出的解:
η = H s e c h 2 [ 3 4 H h 3 ( x 0 − c t ) ] c = g ( H + h ) x 0 = 4 h H / h \eta = H sech^2[\sqrt{\dfrac{3}{4}\dfrac{H}{h^3}}(x_0-ct)] \\[6pt] c = \sqrt{g(H+h)} \\[6pt] x0 = \dfrac{4h}{\sqrt{H/h}} η=Hsech2[43h3H (x0ct)]c=g(H+h) x0=H/h 4h

模拟结果

本节将以H/h = 0.181所对应工况的实验为例,介绍模型运行步骤及运行结果。
首先,运行数据包中的InputFileMaker4SWASH_L51con.m脚本,以生成地形数据文件(.bot)和边界数据文件(.bnd)。之后,将参数文件l51con02.sws,以及地形数据文件l51con02.bot 和孤立波边界水位时间序列l51con02.bnd复制到swash.exe的同一目录下。并在这个目录下,用如下指令运行:

swashrun l51con02

随后,利用mkplot.m将数据结果可视化。各测点的水位过程如下:
在这里插入图片描述
t = 6、8、10、12s时刻的水位空间分布如下:
在这里插入图片描述

注意

  1. 若想改变波浪参数或运行别的工况,可以通过改变InputFileMaker4SWASH_L51con.m脚本内的数据并重新生成生成地形数据文件(.bot)和边界数据文件(.bnd),之后再用这批新的文件运行模型。
  2. 模型实验数据见Stelling&Zijlema3和Briggs et al. (1982)4

  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. Briggs, M.J., Synolakis, C.E., Harkins, G.S. et al. Laboratory experiments of tsunami runup on a circular island. PAGEOPH 144, 569–593 (1995). https://doi.org/10.1007/BF00874384 ↩︎ ↩︎

  5. Laitone, E.V., 1960. The second approximation to cnoidal and solitary waves. J. Fluid
    Mech. 9 (03), 430–444 ↩︎

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1886319.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

调试支付分回调下载平台证书

之前的原生代码放到webman里面,死活跑不通 没办法,只能用esayWeChat6.7 (自行下载) 它里面配置要用到平台证书 平台证书又要用到 composer require wechatpay/wechatpay 但是请求接口之前,你先要用到一个临时的平台…

[Python学习篇] Python函数

定义函数 语法:使用关键字 def def 函数名(参数): 代码1 代码2 ...... 调用函数 语法: 函数名(参数) 注意:不同的需求,参数可有可无。在Python中,函数必须先定义后使用 示例: # 定义函数 d…

边缘计算网关在现代工业企业中的作用-天拓四方

随着工业4.0时代的到来,数字化转型已经成为工业企业发展的必然趋势。在这一过程中,边缘计算网关以其独特的优势,正逐渐成为工业企业实现智能化、高效化运营的关键技术。 边缘计算网关是一种部署在网络边缘的设备,它集成了计算、存…

每日一题——Python实现PAT乙级1100 校庆(举一反三+思想解读+逐步优化)五千字好文

一个认为一切根源都是“自己不够强”的INTJ 个人主页:用哲学编程-CSDN博客专栏:每日一题——举一反三Python编程学习Python内置函数 Python-3.12.0文档解读 目录 我的写法 代码结构和逻辑 时间复杂度分析 空间复杂度分析 总结 我要更强 方法一…

RK3568驱动指南|第十五篇 I2C-第181章使用GPIO模拟I2C驱动

瑞芯微RK3568芯片是一款定位中高端的通用型SOC,采用22nm制程工艺,搭载一颗四核Cortex-A55处理器和Mali G52 2EE 图形处理器。RK3568 支持4K 解码和 1080P 编码,支持SATA/PCIE/USB3.0 外围接口。RK3568内置独立NPU,可用于轻量级人工…

一个能让渲染性能提高100倍的办法

GPU 光线追踪是当今的热门话题,所以让我们来谈谈它!今天我们将光线追踪一个单个球体。 使用片段着色器。 是的,我知道。并不特别花哨。你可以在 Shadertoy 上搜索并获得数百个示例(https://www.shadertoy.com/results?querysphere)。甚至已…

速通RK3568开发板多网口网线直连测试

开源鸿蒙硬件方案领跑者 触觉智能 本文适用于在EVB3568开发板上进行多网口网线直连。触觉智能的EVB3568主板基于瑞芯微RK3568处理器,采用22nm先进工艺制程,四核A55 CPU,主频高达2.0GHz,支持高达8GB高速LPDDR4,1T算力N…

Linux miniconda 安装tensorflow-gpu遇到找不到GPU问题

背景: Linux Miniconda python3.9 安装步骤 1、 pip install tensorflow-gpu2.8.0 -i https://pypi.tuna.tsinghua.edu.cn/simple 2、报错如下: 更换镜像源,单独安装 pip install tf-estimator-nightly2.8.0.dev2021122109 -i https:/…

【C语言】typedef 关键字

在C语言中,typedef关键字用于给现有的数据类型起一个新的名字。它在提高代码可读性、简化复杂类型声明、增强可维护性方面非常有用。typedef通常用于定义结构体、指针、函数指针以及其他复杂类型。 基本用法 typedef int MyInt; MyInt x 10;在这个例子中&#xf…

42、nginx之nginx.conf

nginx----web服务器 一、nginx http就是apache,在国内很少。 nginx是开源的,是一款高性能,轻量级的web服务软件。 稳定性高,而且版本迭代比较快(修复bug速度比较快,安全性快) 消耗系统资源…

中日区块链“大比拼”!中国蚂蚁加大区块链押注资本!日本索尼进军加密货币市场!

科技巨头在区块链和加密货币领域的动作越来越频繁。近期,中国金融科技巨头蚂蚁集团进一步加大了在区块链业务上的投资,而日本电子科技巨头索尼集团则正式进军加密货币交易领域。这些举措反映了两国对于区块链和加密资产领域的不同态度和布局。 蚂蚁集团加…

Load Tensor to local Nvidia GPU

0. 安装Nvidia驱动 ubuntu24.04的安装非常简单,在安装界面,选择为"图形化和其他硬件安装驱动",重启后即有原版Nvidia驱动(如图Nvidia X xxx) 1.确定电脑上是否有NvidiaGPU且安装好Nvidia驱动 import torch print(torch.version…

LInux SSH Server远程代码执行漏洞 (CVE-2024-6387)处理

一、漏洞描述 2024年7月1日,OpenSSH Server中存在的一个RCE远程代码执行漏洞(CVE-2024-6387,又被称为regreSSHion)细节被公开,该漏洞影响基于glibc的Linux系统上的OpenSSH Server (sshd)。 默认配置下的OpenSSH Serve…

MIX OTP——依赖项和总体项目

在本章中,我们将讨论如何管理 Mix 中的依赖项。 我们的 kv 应用程序已经完成,现在是时候实现处理我们在第一章中定义的请求的服务器了: 但是,我们不会向 kv 应用程序添加更多代码,而是将 TCP 服务器构建为另一个应用程…

Linux系统之安装Firefox浏览器

Linux系统之安装Firefox浏览器 一、Firefox浏览器介绍1.1 Firefox浏览器介绍1.2 Firefox浏览器特点 二、环境介绍二、本次实践环境介绍2.1 环境规划2.2 本次实践介绍 三、安装firefox浏览器3.1 安装epel3.2 检查yum仓库状态3.3 安装Firefox浏览器3.4 查看Firefox版本 四、在命令…

win11电源设置

把钩子去掉以后 win11的电脑关机才有用 否则,关机了,电脑也实际上一直在运行

partition()方法——分割字符串为元组

自学python如何成为大佬(目录):https://blog.csdn.net/weixin_67859959/article/details/139049996?spm1001.2014.3001.5501 语法参考 partition()方法根据指定的分隔符将字符串进行分割。如果字符串中包含指定的分隔符,则返回一个3元的元组,第一个为…

HarmonyOS(38) UIAbility里icon和label的作用

UIAbility里icon和label的作用 icon和label实际效果测试代码传送门参考资料 icon和label 为使应用能够正常使用UIAbility,需要在module.json5配置文件的abilities标签中声明UIAbility的名称、入口、标签等相关信息: {"module": {..."ab…

3.3prometheus命令行参数讲解

本节重点介绍 : target页面flags页面status页面tsdb-status页面 访问地址 $ip:9090 target页面 flags页面 展示命令行参数的,没设置的取默认值 status页面 描述运行信息和编译的信息 tsdb-status页面 打印存储的运行状态信息帮我们定位重查询的 服务发现页面…

怎么把录音转文字?推荐几个简单易操作的方法

在小暑这个节气里,炎热的天气让人分外渴望效率up!Up!Up! 对于那些在会议或课堂中急需记录信息的朋友们,手写笔记的速度往往难以跟上讲话的节奏。此时,电脑录音转文字软件就像一阵及时雨,让记录…