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

三维孤立波在锥形岛屿上的爬坡过程(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.rhkb.cn/news/366604.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

机械设备制造企业MES系统解决方案介绍

机械设备制造行业涵盖了各类工业设备、工程机械、农业机械等多个领域,对生产精度、质量控制和效率提出了较高要求。为了提升生产效率、保证产品质量并满足客户需求,越来越多的机械设备制造企业引入了MES系统。本文将详细介绍MES系统在机械设备制造行业的…

5.Android逆向协议-初识HTTP和HTTPS协议

免责声明:内容仅供学习参考,请合法利用知识,禁止进行违法犯罪活动! 内容参考于:微尘网校 上一个内容:4.Android逆向协议-详解二次打包失败解决方案 从现在开始正式进入协议分析了。 首先客户端与服务端之…

Docker 一篇到位

目录 01. Docker使用导航 02. Build Share Run 样例 03. 理解容器 04. 安装 Docker 05. Docker 样例(常见命令使用) 下载镜像 启动容器 修改页面 保存镜像 docker commit docker save docker load 分享社区 docker login docker tag do…

MySQL 9.0 发布了!

从昨晚开始,在DBA群里大家就在讨论MySQL 9.0发布的事情,但是Release Note和官方文档都没有更新,所以今天早上一上班就赶紧瞅了下具体更新了哪些内容? 整体看来,基本没什么创新。下面是9.0新增或废弃的一些特性。 &…

【Qt知识】Geometry属性

一、走进Geometry的世界 Geometry属性是Qt框架中用于处理和操作几何形状的一系列类的集合。它包括了QPoint、QPointF、QSize、QSizeF、QRect和QRectF等。这些类分别代表点、大小、矩形等基本几何概念,它们的存在让图形界面的创建变得既简单又直观。 位置和尺寸。 其…

如何获取音频伴奏

如何获取音频伴奏 在今天的互联网上,有许多好听的音乐.面对这些音乐,我们有时需要伴奏音频,许多音频在网站上可以查找到,但有些不行,今天,我们要通过audacity软件截取音频伴奏. 下载audacity软件 audacity-64.exe 访问密码:8221 或官方网站(访问较慢) 选择简体…

Modbus TCP与TCP/IP协议间的差异与应用场景

Modbus TCP概述 Modbus协议简介 Modbus是一种专为工业自动化系统设计的通信协议,采用主从模式,即一个主设备(通常是计算机或可编程逻辑控制器)与多个从设备(如传感器、执行器等)进行通信。Modbus协议具有…

(漏洞检查项) | 任意文件包含漏洞 file-include

(漏洞检查项)|任意文件包含漏洞 file-include 漏洞场景 1.含有动态包含语句 2.有类似于文件读取的url 漏洞描述 攻击者可以利用任意文件包含漏洞,读取任意文件,对服务器造成危害。 程序开发人员为了代码的灵活性,常常会将包含文件的路径…

Spring Cloud Circuit Breaker基础入门与服务熔断

官网地址&#xff1a;https://spring.io/projects/spring-cloud-circuitbreaker#overview 本文SpringCloud版本为&#xff1a; <spring.boot.version>3.1.7</spring.boot.version> <spring.cloud.version>2022.0.4</spring.cloud.version>【1】Circu…

KVM性能优化之CPU优化

1、查看kvm虚拟机vCPU的QEMU线程 ps -eLo ruser,pid,ppid,lwp,psr,args |awk /^qemu/{print $1,$2,$3,$4,$5,$6,$8} 注:vcpu是不同的线程&#xff0c;而不同的线程是跑在不同的cpu上&#xff0c;一般情况&#xff0c;虚拟机在运行时自身会点用3个cpus&#xff0c;为保证生产环…

TensorRT学习(二)TensorRT使用教程(Python版)

本文适合快速了解TensorRT使用的整体流程,具体细节还是建议参考TensorRT的官方文档。 加速原理: 加速原理比较复杂,它将会根据显卡来优化算子,以起到加速作用(如下图所示)。简单的来说,就是类似于你出一个公式1+1+1,而你的显卡支持乘法,直接给你把这个公式优化成了1*…

windows远程连接无法复制文件

windows远程桌面无法复制文件 解决方案 打开任务管理器管理器,在详细信息界面,找到rdpclip.exe进程&#xff0c;选中并点击结束任务&#xff0c;杀死该进程。 快捷键 win r 打开运行界面&#xff0c;输入 rdpclip.exe &#xff0c;点击确定运行。即可解决无法复制文件问题。…

prescan软件中导入路径文件txt/lpx

由于博主收到的是lpx格式的路径文件&#xff0c;因此&#xff0c;第一步 1.记事本打开 ctrla 全选 ctrlc 复制 2.新建一个excel 鼠标定位到第一行第一列的格子 ctrlv 复制 3.数据栏“分列”功能 4. (0.1递增的数列&#xff0c;纬度&#xff0c;经度&#xff0c;高程) 导入…

简单爬虫案例——爬取快手视频

网址&#xff1a;aHR0cHM6Ly93d3cua3VhaXNob3UuY29tL3NlYXJjaC92aWRlbz9zZWFyY2hLZXk9JUU2JThCJTg5JUU5JTlEJUEy 找到视频接口&#xff1a; 视频链接在photourl中 完整代码&#xff1a; import requestsimport re url https://www.kuaishou.com/graphql cookies {did: web_…

解决VSCode无法用ssh连接远程服务器的问题

原因&#xff1a; 因为windows自带的ssh无法连接远程服务器&#xff0c;需要用git底下的ssh.exe。 搜了很久&#xff0c;试过很多方法&#xff0c;包括替换掉环境变量中的ssh&#xff0c;但是都无效&#xff0c;最后发现是要在VSCode中配置需要使用哪个ssh.exe。 步骤&#…

深入分析 Android BroadcastReceiver (七)

文章目录 深入分析 Android BroadcastReceiver (七)1. 高级应用场景1.1 示例&#xff1a;动态权限请求1.2 示例&#xff1a;应用内通知更新 2. 安全性与性能优化2.1 示例&#xff1a;设置权限防止广播攻击2.2 示例&#xff1a;使用 LocalBroadcastManager2.3 示例&#xff1a;在…

【博主推荐】HTML5实现简洁好看的个人简历网页模板源码

文章目录 1.设计来源1.1 主界面1.2 关于我界面1.3 工作经验界面1.4 学习教育界面1.5 个人技能界面1.6 专业特长界面1.7 朋友评价界面1.8 获奖情况界面1.9 联系我界面 2.效果和源码2.1 动态效果2.2 源代码 源码下载万套模板&#xff0c;程序开发&#xff0c;在线开发&#xff0c…

食品行业的安全护照:企业发展不可或缺的认证导航

在全球化的食品市场中&#xff0c;安全、质量和环境保护是企业通往成功的三大支柱。对消费者而言&#xff0c;这些因素是选择产品的核心考量&#xff1b;对企业来说&#xff0c;则是赢得市场和信任的基石。从农田到餐桌&#xff0c;食品的每一次加工和转换都承载着对健康和环境…

20240703 每日AI必读资讯

&#x1f916;爆火Character AI惨遭阉割 美国00后集体“失恋” - Character AI曾是00后最火爆的社交软件&#xff0c;但用户发现对话模型变得冷淡&#xff0c;失去趣味。 - 用户流失严重&#xff0c;面临成本高、竞争激烈的挑战&#xff0c;甚至遭到挖角。 - 尽管困难重重&a…

RabbitMQ进阶篇

文章目录 发送者的可靠性生产者重试机制实现生产者确认 MQ的可靠性数据持久化交换机持久化队列持久化消息持久化 Lazy Queue(可配置~)控制台配置Lazy模式代码配置Lazy模式更新已有队列为lazy模式 消费者的可靠性消费者确认机制失败重试机制失败处理策略 业务幂等性唯一消息ID业…