当前位置: 首页 > news >正文

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 效果&#xff1a; 1. 二维码生成&#xff1a; 下载二维码图片&#xff1a; 二维码的内容&#xff1a; 实现代码&#xff1a; <template>…...

GEE 教程:利用Google Dynamic数据进行逐月指定区域的土地分类数据提取分析

目录 简介 数据 代码 结果 简介 利用Google Dynamic数据进行逐月指定区域的土地分类数据提取分析 数据 Google Dynamic数据是指由Google自动生成、自动更新的数据,它不需要人工干预,而是通过算法和机器学习技术从各种来源获取并解析数据。这些数据可以是来自互联网上的…...

Nginx 负载均衡:优化网站性能与可扩展性的利器

在当今高流量的互联网时代&#xff0c;网站的性能和可扩展性成为了衡量其成功与否的关键因素之一。随着用户量的不断增加&#xff0c;单一服务器往往难以承受巨大的访问压力&#xff0c;这时就需要引入负载均衡技术来分散请求&#xff0c;提高系统的整体性能和可靠性。Nginx&am…...

【Python基础】Python错误和异常处理(详细实例)

本文收录于 《Python编程入门》专栏&#xff0c;从零基础开始&#xff0c;分享一些Python编程基础知识&#xff0c;欢迎关注&#xff0c;谢谢&#xff01; 文章目录 一、前言二、Python中的错误类型三、Python异常处理机制3.1 try-except语句3.2 try-except-else语句3.3 try-fi…...

如何查看串口被哪个程序占用?截止目前最方便的方法

痛点&#xff1a;串口因为某种原因被占用&#xff0c;如何找到罪魁祸首&#xff1f; 做开发的小伙伴们&#xff0c;经常会遇到这样的问题&#xff1a;串口因为某种原因被占用&#xff0c;导致无法通讯&#xff0c;但是又找不到被哪个程序占用。只有重启电脑&#xff0c;才能解…...

深入理解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)&#xff1a;建立在关系模型基础上&#xff0c;由多张相互连接的二维表组成的数据库。 特点&#xff1a; 使用表存储数据&#xff0c;格式统一&#xff0c;便于维护 使用SQL语言操作&#xff0c;标准统一&…...

【STM32系统】基于STM32设计的SD卡数据读取与上位机显示系统(SDIO接口驱动、雷龙SD卡)——文末资料下载

基于STM32设计的SD卡数据读取与上位机显示系统 演示视频&#xff1a; 基于STM32设计的SD卡数据读取与上位机显示系统 简介&#xff1a;本研究的主要目的是基于STM32F103微控制器&#xff0c;设计一个能够读取SD卡数据并显示到上位机的系统。SD卡的数据扇区读取不仅是为了验证存…...

SpringBoot开发——整合Redis

文章目录 1、创建项目&#xff0c;添加Redis依赖2、创建实体类Student3、创建Controller4、配置application.yml5、整合完成 Redis ( Remote Dictionary Server &#xff09;是一个开源的内存数据库&#xff0c;遵守 BSD 协议&#xff0c;它提供了一个高性能的键值&#xff08…...

C++实现分布式网络通信框架RPC(3)--rpc调用端

目录 一、前言 二、UserServiceRpc_Stub 三、 CallMethod方法的重写 头文件 实现 四、rpc调用端的调用 实现 五、 google::protobuf::RpcController *controller 头文件 实现 六、总结 一、前言 在前边的文章中&#xff0c;我们已经大致实现了rpc服务端的各项功能代…...

从零实现富文本编辑器#5-编辑器选区模型的状态结构表达

先前我们总结了浏览器选区模型的交互策略&#xff0c;并且实现了基本的选区操作&#xff0c;还调研了自绘选区的实现。那么相对的&#xff0c;我们还需要设计编辑器的选区表达&#xff0c;也可以称为模型选区。编辑器中应用变更时的操作范围&#xff0c;就是以模型选区为基准来…...

【OSG学习笔记】Day 16: 骨骼动画与蒙皮(osgAnimation)

骨骼动画基础 骨骼动画是 3D 计算机图形中常用的技术&#xff0c;它通过以下两个主要组件实现角色动画。 骨骼系统 (Skeleton)&#xff1a;由层级结构的骨头组成&#xff0c;类似于人体骨骼蒙皮 (Mesh Skinning)&#xff1a;将模型网格顶点绑定到骨骼上&#xff0c;使骨骼移动…...

【JavaSE】绘图与事件入门学习笔记

-Java绘图坐标体系 坐标体系-介绍 坐标原点位于左上角&#xff0c;以像素为单位。 在Java坐标系中,第一个是x坐标,表示当前位置为水平方向&#xff0c;距离坐标原点x个像素;第二个是y坐标&#xff0c;表示当前位置为垂直方向&#xff0c;距离坐标原点y个像素。 坐标体系-像素 …...

DeepSeek 技术赋能无人农场协同作业:用 AI 重构农田管理 “神经网”

目录 一、引言二、DeepSeek 技术大揭秘2.1 核心架构解析2.2 关键技术剖析 三、智能农业无人农场协同作业现状3.1 发展现状概述3.2 协同作业模式介绍 四、DeepSeek 的 “农场奇妙游”4.1 数据处理与分析4.2 作物生长监测与预测4.3 病虫害防治4.4 农机协同作业调度 五、实际案例大…...

GC1808高性能24位立体声音频ADC芯片解析

1. 芯片概述 GC1808是一款24位立体声音频模数转换器&#xff08;ADC&#xff09;&#xff0c;支持8kHz~96kHz采样率&#xff0c;集成Δ-Σ调制器、数字抗混叠滤波器和高通滤波器&#xff0c;适用于高保真音频采集场景。 2. 核心特性 高精度&#xff1a;24位分辨率&#xff0c…...

NXP S32K146 T-Box 携手 SD NAND(贴片式TF卡):驱动汽车智能革新的黄金组合

在汽车智能化的汹涌浪潮中&#xff0c;车辆不再仅仅是传统的交通工具&#xff0c;而是逐步演变为高度智能的移动终端。这一转变的核心支撑&#xff0c;来自于车内关键技术的深度融合与协同创新。车载远程信息处理盒&#xff08;T-Box&#xff09;方案&#xff1a;NXP S32K146 与…...

A2A JS SDK 完整教程:快速入门指南

目录 什么是 A2A JS SDK?A2A JS 安装与设置A2A JS 核心概念创建你的第一个 A2A JS 代理A2A JS 服务端开发A2A JS 客户端使用A2A JS 高级特性A2A JS 最佳实践A2A JS 故障排除 什么是 A2A JS SDK? A2A JS SDK 是一个专为 JavaScript/TypeScript 开发者设计的强大库&#xff…...

Python+ZeroMQ实战:智能车辆状态监控与模拟模式自动切换

目录 关键点 技术实现1 技术实现2 摘要&#xff1a; 本文将介绍如何利用Python和ZeroMQ消息队列构建一个智能车辆状态监控系统。系统能够根据时间策略自动切换驾驶模式&#xff08;自动驾驶、人工驾驶、远程驾驶、主动安全&#xff09;&#xff0c;并通过实时消息推送更新车…...

Golang——7、包与接口详解

包与接口详解 1、Golang包详解1.1、Golang中包的定义和介绍1.2、Golang包管理工具go mod1.3、Golang中自定义包1.4、Golang中使用第三包1.5、init函数 2、接口详解2.1、接口的定义2.2、空接口2.3、类型断言2.4、结构体值接收者和指针接收者实现接口的区别2.5、一个结构体实现多…...