VirtualFlow算例 | 水库大坝溃坝数值模拟

为充分利用水资源,人们在天然河流上修建了水库大坝,以达到调控洪水、发电、灌溉、供水、通航、旅游、渔业养殖等目的,水库大坝对人类社会和经济的发展起到了极其重要的推动作用,但是一旦由于某种原因发生溃坝失事,对下游所造成的生命和财产损失将无法估计。

溃坝问题研究主要以历史资料统计分析及数值模拟为主,而溃坝在数值分析领域也成为了一个十分经典的案例,本文将使用积鼎 通用流体仿真软件VirtualFlow 模拟二维的溃坝流动。

图片

案例描述

本案例的场景是一个长方形液块位于计算域一角,计算域顶部开口,左右和底部边界为壁面,在重力的作用下液块流动并冲击到一侧壁面,此过程中发生了复杂的流动。

案例详情

1. 几何建模

本案例为二维算例,其中计算域的长为3.22m,高1.8m,水相的长为1.2m,高为0.6m,位于计算域左下角。同时在计算域底部距左端2.725m处设置监测点H1监测自由液面的高程,具体的几何和计算域如图 1.1所示。

图片

图 1.1几何与计算域示意图

2. 网格划分

网格划分现有一套网格,网格一在x方向划分成161份,增长率为1,尺寸上限为1,最小尺寸为0.02m;y方向划分成90份,增长率为1,尺寸上限为1,最小尺寸为0.02m;z方向划分为1份,增长率设为1,比尺上限设为1,最终网格总数为14490,具体参数可见表 1.1。网格一划分的示意图如图 1.2所示。

表 1.1 网格信息表

图片

注:括号内的数字分别对应网格划分份数、增长率和比尺上限

图片

图 1.2 网格划分示意图

3. 参数设置

其中材料属性如表 1.2所示

表 1.2 材料属性

图片

对于各边界的类型和具体边界条件如表 1.3所示。

表 1.3 边界条件

图片

求解过程的参数设置和停止条件见表 1.4。

表 1.4 求解参数和停止条件

图片

初始场的设置如表 1.5所示。

表 1.5 初始场设置

图片

多相流模型使用Level-set模型参数为默认值。

数值模拟结果

本次将选择与Andrea Colagrossi和Maurizio Landrini[1]文章中使用SPH方法所做数值模拟的结果作对比如图1.3所示。

图片

图片

图片

图片

图片

图片

图片

图片

 

图片

图片

图片

图 1.3 VirtualFlow与Andrea Colagrossi等人结果对比图

将H1监测点的结果与Andrea Colagrossi等人SPH方法的结论和Zhou[2]等人的试验测量值的对比结果如图1.4所示。

图片

图 1.4 H1监测值对比图

总结

VirtualFlow软件准确模拟了二维溃坝水流的发展。从上述图中可以看出VirtualFlow计算的自由液面与Colagrossi等人用SPH方法计算的结果吻合良好;并且H1监测点的监测数据也与SPH方法和试验数据吻合,表明VirtualFlow处理计算界面流的可靠性。

参考文献

[1] COLAGROSSI A, LANDRINI M. Numerical simulation of interfacial flows by smoothed particle hydrodynamics[J/OL]. Journal of Computational Physics, 2003, 191(2): 448-475. DOI:10.1016/S0021-9991(03)00324-3.

[2] ZHOU Z, DE KAT J, BUCHNER B. A nonlinear 3-D approach to simulate green water dynamics on deck[J]. 1999.

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

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

相关文章

鸿蒙开发(HarmonyOS)组件化浅谈

众所周知,现在组件化在移动开发中是很常见的,那么组件化有哪些好处: 1. 提高代码复用性:组件化允许将应用程序的不同功能模块化,使得这些模块可以在不同的项目中重复使用,从而提高开发效率并减少重复工作。…

MySQL-DDL/DML(数据定义/操作语言)

数据定义语言(DDL-Data Definition Language) 代表关键字:create ,drop,alter 数据操作语言(DML-Data Manipulation Language) 代表关键字:insert,delete,update 1、表的操作 1.1 创建表 create table 表名(字段1,字段2,字段3.....字段n) [charset字符集][type表类…

使用蒙特卡洛模拟和并查集求解渗透阈值

代码由C语言编写 我使用了三个类&#xff0c;分别如下 第一个类&#xff0c;实现了并查集的基本操作。 #pragma once#include<iostream> #include<vector> using namespace std;class UnionFind { public:vector<int> parent; // 用于存储父节点vector<…

生物信息常用编辑器:轻量高效的VS Code

在生物信息学中&#xff0c;编写和调试代码是日常工作的一部分&#xff0c;选择一个合适的编辑器能极大提升效率。Visual Studio Code&#xff08;简称VS Code&#xff09;是一款轻量、灵活且功能强大的代码编辑器&#xff0c;广受开发者欢迎。本文将为大家介绍VS Code的主要功…

50.面向对象进阶训练-学生类

//定义一个长度为3的数组&#xff0c;存储1-3名学生对象作为初始数据 //学生属性&#xff1a;学号 姓名 年龄&#xff0c;其中学号姓名各不相同 //要求&#xff1a;1.再次添加一个学生对象&#xff0c;并在添加的时候进行学号的唯一性判断//2.添加完毕之后&#xff0c;遍历所有…

企业急于采用人工智能,忽视了安全强化

对主要云提供商基础设施上托管的资产的安全分析显示&#xff0c;许多公司为了急于构建和部署 AI 应用程序而打开安全漏洞。常见的发现包括对 AI 相关服务使用默认且可能不安全的设置、部署易受攻击的 AI 软件包以及不遵循安全强化指南。 这项分析由 Orca Security 的研究人员进…

重回极简:华为如何走向全面智能化?

“人类发现地球只是宇宙一员的时候&#xff0c;也是我们距离群星最遥远的时候。” 这个来自天文领域的喟叹&#xff0c;今天同样出现在行业与企业的智能化之路上。在这个时代坐标上&#xff0c;AI大模型技术极速成熟&#xff0c;AIGC和AI Agent等应用受到了各个行业的巨大期待。…

SpringBoot 数据库表结构文档生成

官方地址&#xff1a;https://github.com/pingfangushi/screw screw 螺丝钉&#xff0c;支持以下数据库 MySQL MariaDB TIDB Oracle SqlServer PostgreSQL Cache DB&#xff08;2016&#xff09; 生产文档支持 html word markdown 开始 添加依赖 <!-- 螺丝钉 --><…

PyCharm部分快捷键冲突问题

1.问题起因 今天在用PyCharm&#xff0c;编写python程序的时候&#xff0c;发现快捷间冲突&#xff0c;随后在CSDN上查找了一些资料&#xff0c;博主第一个说是搜狗输入法冲突&#xff0c;经过其内容尝试之后发现并不是这样啊&#xff0c;然后我有进行了一些资料案例的查询&am…

【第十三章:Sentosa_DSML社区版-机器学习聚类】

目录 【第十三章&#xff1a;Sentosa_DSML社区版-机器学习聚类】 13.1 KMeans聚类 13.2 二分KMeans聚类 13.3 高斯混合聚类 13.4 模糊C均值聚类 13.5 Canopy聚类 13.6 Canopy-KMeans聚类 13.7 文档主题生成模型聚类 13.8 谱聚类 【第十三章&#xff1a;Sentosa_DSML社…

VUE3配置路由(超级详细)

第一步创建vue3的项目

低代码可视化工具--vue条件判断v-if可视化设置-代码生成器

在Vue UniApp中&#xff0c;条件判断通常是通过指令v-if、v-else-if、v-else来实现的。这些机制允许你根据表达式的真假值来决定是否渲染某个元素或元素组&#xff0c;或者执行特定的逻辑。 条件判断说明 v-if 是惰性的&#xff1a;如果在初始渲染时条件为假&#xff0c;则什么…

Obsidian 全部笔记共享配置文件,obsidian仓库-文件夹配置统一化

obsidian仓库-文件夹配置统一化 在每次新建obsidian仓库(vaults)时&#xff0c;仓库的主题和快捷键等都需要重新设置&#xff0c;这是因为每次创建新的仓库时 新仓库的配置文件都是默认配置但是如果通过复制粘贴旧配置文件来达到新仓库的配置和旧仓库一致的话&#xff0c;无法…

Shiro-721—漏洞分析(CVE-2019-12422)

文章目录 Padding Oracle Attack 原理PKCS5填充怎么爆破攻击 漏洞原理源码分析漏洞复现 本文基于shiro550漏洞基础上分析&#xff0c;建议先看上期内容&#xff1a; https://blog.csdn.net/weixin_60521036/article/details/142373353 Padding Oracle Attack 原理 网上看了很多…

cmake--get_filename_component

作用 按照指定的方式获取文件或者目录的信息。 使用 get_filename_component(<variable> <filename> <component>) variable: 用于保存提取的信息。 filename: 指定路径的文件或者目录。 component: 链接1 component DIRECTORY: 提取文件或者目录的父…

Qwen 个人笔记

Qwen 个人笔记 Qwen的整体架构与Llama2类似&#xff0c;如下图所示: 1 Qwen2Config 1.1 Model 1.1.1 初始化 设置了模型的两个属性:padding_idx&#xff08;用于指定填充标记的索引&#xff09;&#xff0c;vocab_size&#xff08;词汇表的大小&#xff09;初始化了模型的…

关于“华为杯”第二十一届中国研究生数学建模竞赛赛题下载及提交作品的重要提醒

↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑ 各参赛队伍&#xff1a; “华为杯”第二十一届中国研究生数学建模竞赛即将于2024年…

java重点学习-设计模式

十三 设计模式 工厂模式&#xff1a;spring中使用&#xff08;目的是&#xff1a;解耦&#xff09; 1.简单工厂 所有的产品都共有一个工厂&#xff0c;如果新增产品&#xff0c;则需要修改代码&#xff0c;违反开闭原则是一种编程习惯&#xff0c;可以借鉴这种编程思路 2.工厂方…

Transformer模型-5-Multi-Head Attention

上图红色圈中的部分为 Multi-Head Attention&#xff0c;是由多个Self-Attention组成的&#xff0c;虽然Encoder与Decoder中都有Multi-Head Attention&#xff0c;但他们略有区别。Encoder block包含一个 Multi-Head Attention&#xff0c; 而Decoder block包含两个 Multi-Head…

jenkins声明式流水线语法详解

最基本的语法包含 pipeline&#xff1a;所有有效的声明式流水线必须包含在一个 pipeline 块中stages&#xff1a;包含一系列一个或多个stage指令stage&#xff1a;stage包含在stages中进行&#xff0c;比如某个阶段steps&#xff1a;在阶段中具体得执行操作&#xff0c;一个或…