2024.9.15周报
一、题目信息
题目:Physics-informed neural networks for solving flow problems modeled by the 2D Shallow Water Equations without labeled data
链接:物理信息神经网络用于解决由二维浅水方程建模的流动问题,无需标记数据- ScienceDirect --- Physics-informed neural networks for solving flow problems modeled by the 2D Shallow Water Equations without labeled data - ScienceDirect
二、摘要
This paper investigates the application of physics-informed neural networks (PINNs) to solve free-surface flow problems governed by the 2D shallow water equations (SWEs). Two types of PINNs are developed and analyzed: a physics-informed fully connected neural network (PIFCN) and a physics-informed convolutional neural network (PICN). The PINNs eliminate the need for labeled data for training by employing the SWEs, initial and boundary conditions as components of the loss function to be minimized. Results from a set of idealized and real-world tests showed that the prediction accuracy and computation time (i.e., training time) of both PINNs may be less affected by the resolution of the domain discretization when compared against solutions by a Finite Volume (FV) model. Overall, the PICN shows a better trade-off between computational speed and accuracy than the PIFCN. Also, our results for the idealized problems indicated that PINNs can provide more than 5 times higher prediction accuracy than the FV model, while the FV simulation with coarse resolution (e.g., 10 m) can provide sub-centimeter accurate (RMSE) solutions at least one order of magnitude faster than the PINNs. Results from a river flood simulation showed that PINNs delivered better speed-accuracy trade-off than the FV model in terms of predicting the water depth, while FV models outperformed the PINNs for predictions of total flow discharge.
本文研究了物理信息神经网络(PINNs)在求解二维浅水方程(SWES)自由表面流问题中的应用。开发和分析了两种类型的PINN:物理信息全连接神经网络(PIFCN)和物理信息卷积神经网络(PICN)。PINN通过采用SWE、初始和边界条件作为要最小化的损失函数的分量,消除了对用于训练的标记数据的需要。来自一组理想化和真实世界测试的结果表明,预测精度和计算时间(即,当与通过有限体积(FV)模型的解决方案相比时,两个PINN的分辨率(例如,训练时间)可以较少地受到域离散化的分辨率的影响。总的来说,PICN比PIFCN在计算速度和精度之间表现出更好的权衡。 此外对理想化问题的结果表明,PINN可以提供比FV模型高5倍以上的预测精度,而具有粗分辨率的FV模拟(例如,10 m)可以提供比PINN快至少一个数量级的亚厘米精度(RMSE)解决方案。从河流洪水模拟结果表明,PINN提供更好的速度-精度权衡比FV模型在预测水深,而FV模型优于PINN的预测总流量。
三、创新点
1、物理信息神经网络被开发用于求解浅水方程。
2、建议的网络可以在没有任何标记数据的情况下进行训练。
3、卷积神经网络优于全连接神经网络。
四、网络架构
(a)提出了一种基于物理信息的全连接网络(PIFCN)的体系结构。(b)一个典型的全连接神经元网络(FCNN)的例子,它被用作PIFCN内的子网络来预测每个单独的输出;如图所示,显示了2个隐藏层,每个隐藏层有7个神经元,但这些超参数在本研究中有所不同。
一个基于CNN的模型结构的例子,用于解决自由表面流动问题。每个输出变量( η 、 u 或 v )由具有上述结构的单独CNN近似;所有子网络接收相同的输入。每个CNN有两个卷积层和一个隐藏层。
五、实验
一、真实世界模拟
文章中的真实世界实验模拟了2005年11月27日至12月1日期间发生在意大利台伯河(Tiber River)的洪水事件。选择这一事件是为了测试物理信息神经网络(PINNs)在处理复杂的真实场景中的表现,这比文章之前描述的简化理想模型更加具有现实意义。
为了研究PINN在更复杂和现实问题下的性能,文章介绍了真实场景的模拟结果。所讨论的情景是2005年11月27日至12月1日发生在台伯河的洪水事件,它从亚平宁山脉流向意大利的第勒尼安海。该模拟中采用的河流河段长约6km,位于罗马市附近。台伯河在该地区的平均流量为267 m3s-1,而其200年一遇的峰值流量约为3200m3s-1。该区域包括6 km x2km的区域。模拟的事件持续时间为113h。使用的曼宁系数n的值与Morales-Hernández等人(2016年)和Shamkhalchian和de Almeida(2021年)相同;即主河道的n=0.035sm-1/3 和洪泛区的n=0.0446sm-1/3 。边界条件来自Shamkhalchian和de Almeida(2021),对应于计算域边界处河流上游和下游断面的流量和水面高程的时间序列。初始条件 U(,y,t= 0) 由在5 m分辨率下进行的稳态条件下的FV模型的结果(Q=374m3s-1)定义。通过运行具有恒定边界条件的非稳态流模型足够长的时间(即t=10 h)以达到稳态,获得该稳态FV解。PINN从50,100和200m分辨率的数据集进行训练,而FV模型使用从10,25和50m分辨率的网格化数据生成的网格运行。PINN的训练集的相应时间分辨率为4h。批量大小设置为配置点总数的三分之一。对于这个测试用例,PICN的架构由2个卷积层(第一层和第二层分别有10个和40个通道)和1个具有100个神经元的全连接隐藏层组成。PIFCN的架构由3个完全连接的隐藏层组成,每个隐藏层有2000个神经元。我们的测试表明,进一步增加网络复杂性不会显着提高模型的预测精度,并可能大幅增加训练时间和/或导致程序超过所使用的计算机资源的内存容量。
通过PICN、PIFCN和FV获得的水面高程 η 示例,与横截面S1处FV(5)生成的相应基准(黑线)进行对比。
图11展示了在S1截面处,不同模型对水面高程(𝜂)的预测结果。通过与基准模型(细网格FV模型)的对比,表明PICN模型的预测结果比PIFCN和粗网格FV模型更为准确。尤其是在S1和S2截面处,PICN的预测精度显著高于PIFCN和较粗分辨率的FV模型。这意味着在模拟复杂的洪水动态时,PICN在精度上表现更为优越。
台伯河主河道横截面S1(a)和S2(B)处的预测水深误差
图13展示了各模型在S1和S2截面处的流量预测误差。与水深预测结果不同,FV模型在流量预测中表现出显著更高的准确性,尤其是在S2截面处,PICN和PIFCN模型的最大流量误差分别超过了基准的50%和70%。这表明尽管PICN和PIFCN模型在水深预测方面表现良好,但它们在流量预测上的精度较差。这可能是由于水面高程在空间上变化较小,而流量的变化更为复杂,需要更精细的动态捕捉能力。
图14比较了各模型在水深预测上的时间精度(ℎ)和相应的计算时间。结果显示,PICN模型在低计算成本下能够提供更高的预测精度。例如,PICN(200)在水深预测的准确性上优于FV(10),但其计算成本却低一个数量级以上。这突显了PICN在速度和精度平衡上的优势,尤其是在空间分辨率较低的情况下,这为实际洪水模拟应用提供了重要的参考。
总体来看,PICN模型在水深预测上具有明显优势,而PIFCN模型则在速度和精度之间的平衡性上较为逊色。尽管FV模型在流量预测上表现出更高的精度,但其计算成本明显高于PICN。这意味着在实际洪水情境中,如果重点是水深的预测而非流量,PINN模型(尤其是PICN)在计算效率和精度上提供了一个合理的替代方案。
六、结论
本文提出了两种物理信息神经网络(PINNs),分别是基于全连接神经网络(PIFCN)和卷积神经网络(PICN)的模型,用于预测通常由浅水方程(SWEs)模拟的自由表面流动。PINN通过结合浅水方程、边界条件和初始条件来消除对标记数据的依赖,作为求解SWEs的替代方法。通过三个测试用例,包括两个理想化流动问题和一个真实的洪水模拟,评估了模型的准确性和计算性能。结果表明,PICN在速度和精度的权衡上通常优于PIFCN,尤其是在空间分辨率较低的情况下,PICN表现出对网格分辨率变化的鲁棒性。此外,虽然传统的有限体积(FV)模型在流量预测方面表现较好,但在流深预测中,PICN模型能够在较低计算成本下实现类似的准确性。在某些粗略分辨率的应用场景中,PINN模型展示了更高的预测精度和计算效率。尽管PINN技术尚未完全取代传统数值方法,但它作为一种新兴技术展现了显著的潜力,特别是在解决某些现实世界复杂问题时值得进一步研究和开发。
相关文章:

2024.9.15周报
一、题目信息 题目:Physics-informed neural networks for solving flow problems modeled by the 2D Shallow Water Equations without labeled data 链接:物理信息神经网络用于解决由二维浅水方程建模的流动问题,无需标记数据- ScienceDi…...

QT模型视图结构1
文章目录 Qt 模型视图结构概述(一)1、模型/视图结构基本原理2、模型3、视图4、代理5、简单实例 Qt 模型视图结构概述(一) 模型/视图结构是一种将数据存储和界面展示分离的编程方法。模型存储数据,视图组件显示模型中的数据,在视图组件里修改的数据会…...

Ubuntu20+Noetic+cartographer_ros编译部署
1 准备工作 (1)准备Ubuntu20系统。 (2)安装ROS系统,参考 https://blog.csdn.net/weixin_46123033/article/details/139527141(3)Cartographer相关软件包和源码下载: https://gitee.com/mrwan…...

linux-L3-linux 复制文件
linux 中要将文件file1.txt复制到目录dir中,可以使用以下命令 cp file1.txt dir/复制文件 cp /path/to/source/file /path/to/destination移动 mv /path/to/source/file /path/to/destination复制文件夹内的文件 cp -a /path/to/source/file /path/to/destinati…...

Kotlin:1.9.0 的新特性
一、概述 Kotlin 1.9.0版本英语官方文档 Kotlin 1.9.0 中文官方文档 The Kotlin 1.9.0 release is out and the K2 compiler for the JVM is now in Beta. Additionally, here are some of the main highlights: Kotlin 1.9.0版本已经发布,用于JVM的K2编译器现在…...
golang实现从服务器下载文件到本地指定目录
一、连接服务器,采用sftp连接模式 package middlewaresimport ("fmt""time""github.com/pkg/sftp""golang.org/x/crypto/ssh" )// 建立服务器连接 func Connect(user, password, host string, port int) (*sftp.Client, e…...

C++数据结构-树的概念及分类介绍(基础篇)
1.什么是树 树是数据结构中的一种,其属于非线性数据结构结构的一种,我们前文所提到的数据结构多数都是线性的,这也是较为简单的数据结构,而接下来的树与图均属于非线性数据结构,也是概念极多的一类。 树是由结点或顶…...
职场 Death Note
场景一 测试:哎,怎么会这样呢?时间没到,他怎么就变成这个样子了呢?一副大惊小怪,整个办公室都是他的声音 开发:对对对,我代码问题,别BB了。 你直接说这个地方不对&#…...

Vue3.0组合式API:computed计算属性、watch监听器、watchEffect高级监听器
1、computed() 计算属性 在模板中绑定表达式只能用于简单的运算。如果运算比较复杂,可以使用 Vue.js 提供的计算属性,通过计算属性可以处理比较复杂的逻辑。 1.1 计算属性的应用 通过计算属性可以实现各种复杂的逻辑,包括运算、函数调用等…...
RAII 与 std::lock_guard 在 C++ 中的应用:自动化互斥锁管理与线程安全
目录 1. RAII(资源获取即初始化)概述 RAII 的优点 2. std::lock_guard 的工作原理 2.1 构造函数 2.2 析构函数 2.3 关键特性 3. 为什么 std::lock_guard 能自动管理锁的生命周期 3.1 RAII 原则的应用 3.2 异常安全 3.3 简化代码和减少错误 4.…...

风格汇:奢华风格在UI设计中如何被定义的。
在UI设计中,奢华风格通常指的是一种高端、豪华、精致的设计风格,旨在营造出奢华、豪华的视觉效果,给用户带来高品质、高档次的感受。 奢华风格的UI设计通常会运用一些富丽堂皇的元素和效果,例如金色、银色、贵族紫、华丽的字体、华…...

Vue2 qrcode+html2canvas 实现二维码的生成和保存
1.安装 npm install qrcode npm install html2canvas 2.引用 import QRCode from qrcode import html2canvas from html2canvas 效果: 1. 二维码生成: 下载二维码图片: 二维码的内容: 实现代码: <template>…...
GEE 教程:利用Google Dynamic数据进行逐月指定区域的土地分类数据提取分析
目录 简介 数据 代码 结果 简介 利用Google Dynamic数据进行逐月指定区域的土地分类数据提取分析 数据 Google Dynamic数据是指由Google自动生成、自动更新的数据,它不需要人工干预,而是通过算法和机器学习技术从各种来源获取并解析数据。这些数据可以是来自互联网上的…...
Nginx 负载均衡:优化网站性能与可扩展性的利器
在当今高流量的互联网时代,网站的性能和可扩展性成为了衡量其成功与否的关键因素之一。随着用户量的不断增加,单一服务器往往难以承受巨大的访问压力,这时就需要引入负载均衡技术来分散请求,提高系统的整体性能和可靠性。Nginx&am…...

【Python基础】Python错误和异常处理(详细实例)
本文收录于 《Python编程入门》专栏,从零基础开始,分享一些Python编程基础知识,欢迎关注,谢谢! 文章目录 一、前言二、Python中的错误类型三、Python异常处理机制3.1 try-except语句3.2 try-except-else语句3.3 try-fi…...

如何查看串口被哪个程序占用?截止目前最方便的方法
痛点:串口因为某种原因被占用,如何找到罪魁祸首? 做开发的小伙伴们,经常会遇到这样的问题:串口因为某种原因被占用,导致无法通讯,但是又找不到被哪个程序占用。只有重启电脑,才能解…...

深入理解SpringBoot(一)----SpringBoot的启动流程分析
1、SpringApplication 对象实例化 SpringApplication 文件 public static ConfigurableApplicationContext run(Object[] sources, String[] args) {// 传递的source其实就是类Bootstrapreturn new SpringApplication(sources).run(args);// 实例化一个SpringApplication对象执…...

MySql基础-单表操作
1. MYSQL概述 1.1 数据模型 关系型数据库 关系型数据库(RDBMS):建立在关系模型基础上,由多张相互连接的二维表组成的数据库。 特点: 使用表存储数据,格式统一,便于维护 使用SQL语言操作,标准统一&…...

【STM32系统】基于STM32设计的SD卡数据读取与上位机显示系统(SDIO接口驱动、雷龙SD卡)——文末资料下载
基于STM32设计的SD卡数据读取与上位机显示系统 演示视频: 基于STM32设计的SD卡数据读取与上位机显示系统 简介:本研究的主要目的是基于STM32F103微控制器,设计一个能够读取SD卡数据并显示到上位机的系统。SD卡的数据扇区读取不仅是为了验证存…...
SpringBoot开发——整合Redis
文章目录 1、创建项目,添加Redis依赖2、创建实体类Student3、创建Controller4、配置application.yml5、整合完成 Redis ( Remote Dictionary Server )是一个开源的内存数据库,遵守 BSD 协议,它提供了一个高性能的键值(…...
反向工程与模型迁移:打造未来商品详情API的可持续创新体系
在电商行业蓬勃发展的当下,商品详情API作为连接电商平台与开发者、商家及用户的关键纽带,其重要性日益凸显。传统商品详情API主要聚焦于商品基本信息(如名称、价格、库存等)的获取与展示,已难以满足市场对个性化、智能…...
pam_env.so模块配置解析
在PAM(Pluggable Authentication Modules)配置中, /etc/pam.d/su 文件相关配置含义如下: 配置解析 auth required pam_env.so1. 字段分解 字段值说明模块类型auth认证类模块,负责验证用户身份&am…...

DIY|Mac 搭建 ESP-IDF 开发环境及编译小智 AI
前一阵子在百度 AI 开发者大会上,看到基于小智 AI DIY 玩具的演示,感觉有点意思,想着自己也来试试。 如果只是想烧录现成的固件,乐鑫官方除了提供了 Windows 版本的 Flash 下载工具 之外,还提供了基于网页版的 ESP LA…...

HDFS分布式存储 zookeeper
hadoop介绍 狭义上hadoop是指apache的一款开源软件 用java语言实现开源框架,允许使用简单的变成模型跨计算机对大型集群进行分布式处理(1.海量的数据存储 2.海量数据的计算)Hadoop核心组件 hdfs(分布式文件存储系统)&a…...

Netty从入门到进阶(二)
二、Netty入门 1. 概述 1.1 Netty是什么 Netty is an asynchronous event-driven network application framework for rapid development of maintainable high performance protocol servers & clients. Netty是一个异步的、基于事件驱动的网络应用框架,用于…...
【Android】Android 开发 ADB 常用指令
查看当前连接的设备 adb devices 连接设备 adb connect 设备IP 断开已连接的设备 adb disconnect 设备IP 安装应用 adb install 安装包的路径 卸载应用 adb uninstall 应用包名 查看已安装的应用包名 adb shell pm list packages 查看已安装的第三方应用包名 adb shell pm list…...
C语言中提供的第三方库之哈希表实现
一. 简介 前面一篇文章简单学习了C语言中第三方库(uthash库)提供对哈希表的操作,文章如下: C语言中提供的第三方库uthash常用接口-CSDN博客 本文简单学习一下第三方库 uthash库对哈希表的操作。 二. uthash库哈希表操作示例 u…...
安卓基础(Java 和 Gradle 版本)
1. 设置项目的 JDK 版本 方法1:通过 Project Structure File → Project Structure... (或按 CtrlAltShiftS) 左侧选择 SDK Location 在 Gradle Settings 部分,设置 Gradle JDK 方法2:通过 Settings File → Settings... (或 CtrlAltS)…...

消息队列系统设计与实践全解析
文章目录 🚀 消息队列系统设计与实践全解析🔍 一、消息队列选型1.1 业务场景匹配矩阵1.2 吞吐量/延迟/可靠性权衡💡 权衡决策框架 1.3 运维复杂度评估🔧 运维成本降低策略 🏗️ 二、典型架构设计2.1 分布式事务最终一致…...

五子棋测试用例
一.项目背景 1.1 项目简介 传统棋类文化的推广 五子棋是一种古老的棋类游戏,有着深厚的文化底蕴。通过将五子棋制作成网页游戏,可以让更多的人了解和接触到这一传统棋类文化。无论是国内还是国外的玩家,都可以通过网页五子棋感受到东方棋类…...