非静压模型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.mzph.cn/pingmian/39005.shtml

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

相关文章

[吃瓜教程]南瓜书第4章决策树

1.决策树的算法原理 从逻辑角度,条件判断语句的组合;从几何角度,根据某种准则划分特征空间; 是一种分治的思想,其最终目的是将样本约分约纯,而划分的核心是在条件的选择或者说是**特征空间的划分标准 ** …

mac安装达梦数据库

参考:mac安装达梦数据库​​​​​​ 实践如下: 1、下载达梦Docker镜像文件 同参考链接 2、导入镜像 镜像可以随便放在某个目录,相当于安装包,导入后就没有作用了。 查找达梦镜像名称:dm8_20240613_rev229704_x86…

第1章 人工智能的基础概念与应用导论

亲爱的读者朋友们,你们好!欢迎来到这个充满神奇与奥秘的人工智能世界。我知道,对于很多人来说,人工智能(AI)可能是个既神秘又高大上的词汇,仿佛遥不可及,只存在于科幻电影或者顶级科…

Figma-ui设计学习APP Store

Figma汉化:Figma 中文社区_插件组件库,软件汉化教程 - Figma.Cool 选择Chorme汉化版离线包 插件安装: 打开浏览器安装扩展,解压加载进去即可。 打开标尺,设置左右内边距参考线(左21 右356),wi…

【postgresql】版本学习

PostgreSQL 17 Beta 2 发布于2024-06-27。 PostgreSQL 17 Beta 2功能和变更功能的完整列表:PostgreSQL: Documentation: 17: E.1. Release 17 ​ 支持的版本: 16 ( 当前版本) / 15 / 14 / 13 / 12 ​ 不支持的版本: 11 / 10 / 9.6 / 9.5 /…

探索工业AI智能摄像机的高端科技

在当今快速发展的工业智能化领域,工业AI智能摄像机系列以其卓越的性能和多功能性在国内外备受关注(文末有国外工程师的评测链接)。搭载Raspberry Pi CM4支持的旨在广泛应用,涵盖从简单的条形码扫描到基于人工智能的工业环境中的缺…

7.1.SQL注入-基于函数报错的方式来利用updatexml()

基于函数报错的方式来进行利用-字符型(本页updatexml()) 前提条件是后台数据库没有屏蔽数据库语法报错信息 updatexml()方法详解 注释: 第一个参数,意思就是xml文档的名称 第二个参数,意思就是定位到xml文档中指定…

OFDM关键技术——ICI消除技术

ICI消除算法可以分为以下几类: 1、OFDM符号长度和载波间隔的最优选择,较短的符号周期更有利于降低ICI 2、OFDM基信号的最佳选择,选择频域衰减更快的OFDM基带脉冲 3、自干扰消除技术,将信息调制到一组子载波上 4、频域均衡器&a…

认识100种电路之耦合电路

在电子电路的世界中,耦合电路宛如一座精巧的桥梁,连接着各个功能模块,发挥着至关重要的作用。 【为什么电路需要耦合】 在复杂的电子系统中,不同的电路模块往往需要协同工作,以实现特定的功能。然而,这些模…

网络爬虫(二) 哔哩哔哩热榜高频词按照图片形状排列

我们有时候需要爬取结果生成为自定义的词云图 生成自定义的词云图通常需要以下步骤: 1. 爬取数据:使用爬虫工具或库,如requests、BeautifulSoup等,可以爬取网页、论坛、社交媒体等平台上的文本数据。 2. 数据预处理&#xff1a…

uniapp微信小程序电子签名

先上效果图,不满意可以直接关闭这页签 新建成单独的组件,然后具体功能引入,具体功能点击签名按钮,把当前功能页面用样式隐藏掉,v-show和v-if也行,然后再把这个组件显示出来。 【签名-撤销】原理是之前绘画时…

AI影像测量:开启测量仪器的智能之眼

在基于机器视觉的影像测量中,一些复杂特征传统测量需要人工手动选点测量,不仅易受到人为因素的干扰,而且极大的降低测量效率,提高了人力成本和生产成本。AI影像测量技术运用先进的机器视觉和深度学习算法,可快速、准确…

【JVM】JVM 内存结构

程序计数器 Cpu 要不停的切换执行线程,所以在切换回同一个线程的时候要知道程序执行到哪了,程序计数器(PC 计数器),用来存储指向下一条指令的地址,也就是将要执行的代码。 程序的分支、循环、跳转、异常处…

QuickBooks 2024 for Mac:财务智慧,触手可及

QuickBooks 2024 for Mac是一款专为Mac用户设计的专业财务管理软件,它集成了多种实用功能,助力企业和个人用户高效管理财务事务。 📊 全面的财务管理工具:QuickBooks 2024 for Mac 提供了一套全面的财务管理功能,包括…

用免费的可视化工具制作3D智慧城市大屏,融合数字孪生,引领数据升级

在如今数据驱动的时代,越来越多的场景中都有可视化大屏的身影,许多企业和政府部门也从常规的二维看板渐渐地转向更加炫酷,立体的3D可视化大屏。3D可视化大屏成为了展示复杂数据、实时监控业务动态的重要工具。本文将详细介绍如何使用免费的数…

物联网工业级网关解决方案 工业4G路由器助力智慧生活

随着科技的飞速发展,无线通信技术正逐步改变我们的工作与生活。在这个智能互联的时代,一款高性能、稳定可靠的工业4G路由器成为了众多行业不可或缺的装备。工业4G路由器以其卓越的性能和多样化的功能,助力我们步入智慧新纪元。 一、快速转化&…

Python处理excel数据详解

1.导入文件 注意:要把excel放到跟你的python文件在同一个地方 import pandas as pd import numpy as np dfpd.read_excel("鸢尾花训练数据.xlsx",engine"openpyxl") import pandas 先引入 (若没有下载 需要在终端下载 pip install pandas)…

LAMP架构的源码编译环境下部署Discuz论坛

一、LAMP架构 LAMP架构是一种常见的用于构建动态网站的技术栈 组成功能Linux(操作系统)LAMP 架构的基础,用于托管 Web 服务器和应用程序Apache(Web服务器)接收和处理客户端请求,并将静态和动态内容发送给…

Python爬取豆瓣电影+数据可视化,爬虫教程!

1. 爬取数据 1.1 导入以下模块 import os import re import time import requests from bs4 import BeautifulSoup from fake_useragent import UserAgent from openpyxl import Workbook, load_workbook1.2 获取每页电影链接 def getonepagelist(url,headers):try:r reque…

如何用matplotlib绘制图像分类任务的类别特征空间分布

import matplotlib.pyplot as plt import numpy as np from sklearn.decomposition import PCA from sklearn.datasets import load_iris from mpl_toolkits.mplot3d import Axes3D# 加载示例数据(Iris 数据集) data load_iris() X data.data y data.…