学习周报:文献阅读+Fluent案例+有限体积法理论学习

2024-04-28 21:36

本文主要是介绍学习周报:文献阅读+Fluent案例+有限体积法理论学习,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

目录

摘要

Abstract

文献阅读:基于物理信息神经网络的稀疏数据油藏模拟

文献摘要

文章讨论|结论

各方程和原理简介

PINN简介

域分解

实验设置

单相油藏问题

油水两相问题

Fluent实例:Y型弯管中的流体混合分析

几何建模部分

网格划分

求解器设置:

有限体积法学习

总结

摘要

  在本周中,通过阅读文献,发现了一种基于域分解来模拟稀疏数据油藏模拟的新PINN架构(PINN-DD),结果表明,在处理有限数据的大规模油藏模拟时,PINN-DD具有优势,并且在这种情况下,它有可能优于传统的pinn。在Fluent中,选用明Y型弯管中的流体混合分析,进行几何划分和设置求解。理论学习方面,对有限体积法的基本原理进行了学习。

Abstract

  This week, I read the literature and discovered a new PINN architecture (PINN-DD) for sparse data reservoir simulation based on domain decomposition, which shows that PINN-DD has advantages when dealing with large-scale reservoir simulations with limited data, and in this case, it has the potential to outperform traditional PINs. In Fluent, I used the fluid mix analysis in the open Y-bend to do the geometry and setup solution. In terms of theoretical study, I learned the basic principles of the finite volume method.

文献阅读:基于物理信息神经网络的稀疏数据油藏模拟

Physics-informed neural network-based petroleum reservoir simulation with sparse data using domain decomposition

文献摘要

    本研究引入了一种名为基于域分解的物理信息神经网络(PINN-DD)的新架构,旨在有效利用井的稀疏生产数据进行大规模系统的油藏模拟。为了利用物理信息神经网络(pinn)处理小规模时空域的能力,同时解决具有稀疏标记数据的大规模系统的挑战,计算域分为两个不同的子域:包含井和无井子域。此外,两个子域和接口受到控制方程、数据匹配和边界条件的严格约束。结果表明,在处理有限数据的大规模油藏模拟时,PINN-DD具有优势,并且在这种情况下,它有可能优于传统的pinn。

文章讨论|结论

  文章提出了一种基于域分解的物理信息神经网络(PINN-DD),即在有限的数据中进行更为精确的大尺度模拟(当培训真实油藏数据缺乏时),通过利用PINN在解决小尺度时空问题中的优势,解决大规模计算领域所带来的挑战。

  这项工作的新颖之处在于:首次将区域分解方法的思想引入到基于物理信息的大规模油藏模拟中。它充分考虑了稀疏数据带来的挑战以及PINN模型擅长求解小尺度时空域的事实。在计算域上,它保持了近井区(梯度最大)的物理连续性,子域和界面都受到控制方程、数据匹配和边界条件的严格约束。

  由于传统的PINN模型不能准确地求解具有源汇项的偏微分方程除非时空场很小或有大量标记数据来指导训练过程,所以采用域分解的方法可以很好的使用这些数据来提高准确性。

  文献中通过使用简化的多孔介质油水两相达西流模型作为控制方程,利用自动微分和域分解的方式进行计算,充分考虑了稀疏数据带来的挑战以及PINN模型擅长求解小尺度时空域的优势。

  在t=10d和t=30 d的单相和两相情况下,与标准的PINN模型相比:

  PINN- dd始终能够获得更低的绝对压力场误差。领域分解技术有助于减少误差积累,尽管PINN- dd和标准PINN模型都受到误差积累的影响,但PINN- dd的误差增长速度较慢。

该研究存在以下局限:

  1. 虽然PINN-DD方法可以在有限的数据下捕获大型油藏的压力动态系统,但其缺点是计算量大,耗时长。
  2. 尽管该方法只需要稀疏的生产数据,但本研究中使用的数据是通过数值方法获得的。因此,缺乏校正地质静态参数的历史匹配过程是本研究的另一个局限性。

各方程和原理简介

  多孔介质的一般油水两相达西流模型,该模型可以进一步简化为单相模型。该模型假定流体具有轻微的可压缩性和不可混溶性,并且两相之间没有传质。控制方程表示为:

  水饱和度和油饱和度分别为Sw和S0;Qw、qo为油水相源汇项,φ为孔隙度,ρ为密度,μ为油和水的速度;K为油和水的相对渗透系数

其井眼(即最难捕捉的区域附近)可用peaceman方程描述:

Pwell为含井网格压力,PWF为井底流量压力,re是等效半径,S是集肤效应,S=0

  两相流的控制方程描述了压力和饱和度之间的耦合关系,使用二维BuckleyeLeverett两相方程来进行油水两相混合的探讨:

Sw为含水饱和度;Fw为水分流;R为距注水井的距离;A(r)为横截面积;φ为多孔介质孔隙度。

PINN简介

  文中除了基本的自动微分(AD)的原理介绍,即将函数表示为初等运算图,然后使用链式法则在图中传播导数,其输出函数为:

  u通常表示状态变量,如储层内的压力或饱和度。我们假设它可以用全连接神经网络表示为uθ:

  其中σ为激活函数,W为权重;b为偏差。

  PINN中的损失函数由控制方程的残差、初始条件和边界条件以及数据匹配,在理论上,任何数据集都必须满足控制方程,这意味着控制方程的残差应该接近于零,故控制方程的残差可以表示为:

  同样,初始条件、边界条件和数据匹配相关的均方误差可以表示为:

  将上述的均方差函数乘以一个权重系数λ再相加,获得PINN的损失函数:

  其PINN-DD的框架如图所示:

  利用决定系数R2和相对误差L2来评价精度,如下:

uθi为pinn的解;N为评价点个数;UI为评价点的数值解;U是数值解U的平均值。

域分解

  同上面说过的,PINN不能精确的求解源项(压力梯度最大的区域)附近的值,可使用域分解将计算域被划分为两个不同的子域:小的含井子域1和大的无井子域2。在划分界面处状态变量分布的连续性假设连接了不同的域。该接口的时空数据包含在两个子域中并同时进行训练,使得该接口同时受到两个子域的控制方程和边界条件的约束。因此,无需在接口上附加约束,即可隐式地满足连续性条件,域分解如图所示:

  大尺寸界面对于无井域计算是有利的,因为它有效地覆盖了更广泛的区域,但无法以所需的精度捕获靠近井筒的快速变化的梯度。

  相反,较小的界面可以模拟严重的梯度变化,减少井筒和含井区域之间的尺度不匹配,但代价是增加了无井区域的计算复杂性。

  如图10所示,计算域可以根据是否存在生产井、注水井或两者都不存在的情况划分为三个子域:

实验设置

单相油藏问题

  基于计算效率和对并置点数据采样的考虑,选择了10 m的界面尺寸进行研究,计算域为500 m的无流边界正方形。生产井位于溶液区域的中心,以50 m3 /d的恒定速率作业;压力为300 bar,渗透率、孔隙度和Cf分别为100 mD、0.2和0.00045 bar-1采用softplus激活函数,构建一个包含15个隐藏层的神经网络,每层包含100个神经元。采用学习率衰减策略的Adam优化器对网络进行训练。

  图中分别为t=10 d和t=30 d时PINN- dd和PINN的解压力场:

  由图可以看出,PINN-DD再10d和30d的绝对误差都保持再4bar以下,而pinn的误差为12和18bar,从图4和图5可以看出,PINN-DD的近井区分布模式与参考值更加接近,证实了区域分解提高了近井区的模拟效果。从图6中,我们可以看到PINN-dd和PINN的相对误差L2的对比:

  值得注意的是,虽然两种方法都达到了相当水平的相对误差L2,但pinn- dd显示出更高的精度。

  与PINN模型一样,pindd也存在误差积累的问题,但我们可以看到,PINN- dd误差随时间的斜率明显小于PINN,证明了其更稳定的泛化能力。

  图7中显示了以沿计算域对角线使用PINNDD和PINN获得的压力结果,可以看出,在压力梯度最大的区域中,PINN- dd的结果都优于PINN。

  PINN-DD方法中熟练应用的区域分解强调了井附近状态变量的连续性。相反,PINN模型试图将整个计算域作为一个整体来解决,因此,它很难精确捕获近井区内出现的复杂压力波动。(近井区压力的不准确性也会传播并影响远井区,从而加剧了传统PINN方法固有的局限性。)

油水两相问题

  假设流体既不可压缩又不可混相符合二维BuckleyeLeverett两相问题。基于这些基本假设,我们可以基于BuckleyeLeverett理论,利用pinn构造一个swi -net来求解,然后结合基本的两相控制方程,利用PINN-DD来求解压力。

  在本研究中,我们使用Sw-net来求解二维BuckleyeLeverett方程,并将其预训练模型作为辅助模型在pin - dd求解压力场的过程中。预训练模型提供了每个时间步长各时空点的饱和值,进一步方便了压力项系数值的确定。

  待求解的物理模型是一个面积为100 m ×100m的二维域,具有四种无流边界条件。注采井分别位于(97.5,97.5)和(2.5,2.5),初始压力为250bar,初始含水饱和度为0.2,不可还原水饱和度和剩余油饱和度均为0.2,渗透率为100 mD,水粘度为0.3 mPa s,油粘度为3 mPa s。注水井和生产井分别以30 m3 /d的恒定液量和150 bar的恒定井底压力运行。神经网络由20个隐藏层组成,每个隐藏层有50个神经元(其他网络参数同上个实验)。

  图11(b)、图12(b)、图11(d)和图12(d)分别显示了在t=10 d和t=30 d时,PINN- dd和PINN解算的压力场。PINN- dd的绝对误差保持在8 bar以下,而PINN的绝对误差达到22 bar。结果表明,PINN-DD在注水井附近误差较小,表明区域分解可以提高生产数据稀疏的大规模计算域问题的精度:

  图13比较了PINN- dd和PINN模型在30 d内的相对误差L2。结果证实,区域分解有效地缓解了误差积累。预计PINN-DD模型在后期可能会出现误差增大的趋势。然而,对于当前30天的模拟,pin - dd中的误差累积效应并不显著。因此,区域分解提高了PINN模型在求解两相问题时的精度和稳定性。

    图14显示了在t=10 d和t=30 d沿对角线使用PINN- dd和PINN获得的压力结果:

  结果表明,PINN- dd曲线与真值曲线非常接近,而标准PINN模型存在显著差异。这是由于:PINN模型收敛性差的原因是饱和场中存在不连续的冲击锋面,井筒附近压力梯度变化剧烈,导致注水井附近压力场解不准确。

Fluent实例:Y型弯管中的流体混合分析

几何建模部分

  在Design modeler中建立出模型,调整单位为mm,在XY平面中绘制出一个宽10mm,长50mm的矩形,在顶点处绘制出一条50mm的线,使用对称、等长命令使得生成一条关于Y轴对称的线;再在线上方绘制出50mm与第一条线平行的斜线,重复操作后生成草图:

  后使用长度约束两条线间距为10mm,在上方的线顶点处绘制垂直于X轴的线,修剪后如下:

  挤出模型10mm,并使用混合中的固定半径命令,使其外围12边变成圆边,绘制完成的模型如下:

网格划分

  先在尺寸调整中关闭自适应尺寸划分网格的命令,插入“划分方法”,改变网格类型为四面体网格:

  插入尺寸调整命令,关闭“捕获曲率”,使用硬解的方式,将最小单元尺寸改为0.001m,后进行边界名称划分:

求解器设置:

  采用8核双精度,进入求解器设置,打开重力设置,在Y轴上-9.81m/s2,打开能量模型,计算模型为层流,具体设置如下:

添加液体水为流体材料,将流体域材料更改为水,设置初始边界条件,初始温度设置为325k和275k:

将残差调整为1e-06,获得更精确的数据,采用标准初始化,计算参考区域为all zone,参数保持默认(其中温度与设置的初始条件有关,为两个入口出的温度加权平均值):

迭代步数为1000次,结果如下所示:

残差:

原案例:

  可见在450次收敛左右获得远超于设置值的结果,与原案例中趋向相符,且出口处速度为两倍入口处速度,且出口温度为两个入口处的加权平均:

速度流线图:

温度云图:

压力云图:

速度云图:

有限体积法学习

总结

这一周主要聚焦在补习有限体积法中的数学定理,由于之前的记录中有相关内容,所以没有进行重复的记录。而在文献阅读的过程中,发现域分解的相关文献又需要这一部分的知识,故会先对其进行补充学习,拓展自己的思维。

这篇关于学习周报:文献阅读+Fluent案例+有限体积法理论学习的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/944317

相关文章

HarmonyOS学习(七)——UI(五)常用布局总结

自适应布局 1.1、线性布局(LinearLayout) 通过线性容器Row和Column实现线性布局。Column容器内的子组件按照垂直方向排列,Row组件中的子组件按照水平方向排列。 属性说明space通过space参数设置主轴上子组件的间距,达到各子组件在排列上的等间距效果alignItems设置子组件在交叉轴上的对齐方式,且在各类尺寸屏幕上表现一致,其中交叉轴为垂直时,取值为Vert

Ilya-AI分享的他在OpenAI学习到的15个提示工程技巧

Ilya(不是本人,claude AI)在社交媒体上分享了他在OpenAI学习到的15个Prompt撰写技巧。 以下是详细的内容: 提示精确化:在编写提示时,力求表达清晰准确。清楚地阐述任务需求和概念定义至关重要。例:不用"分析文本",而用"判断这段话的情感倾向:积极、消极还是中性"。 快速迭代:善于快速连续调整提示。熟练的提示工程师能够灵活地进行多轮优化。例:从"总结文章"到"用

Hadoop企业开发案例调优场景

需求 (1)需求:从1G数据中,统计每个单词出现次数。服务器3台,每台配置4G内存,4核CPU,4线程。 (2)需求分析: 1G / 128m = 8个MapTask;1个ReduceTask;1个mrAppMaster 平均每个节点运行10个 / 3台 ≈ 3个任务(4    3    3) HDFS参数调优 (1)修改:hadoop-env.sh export HDFS_NAMENOD

【前端学习】AntV G6-08 深入图形与图形分组、自定义节点、节点动画(下)

【课程链接】 AntV G6:深入图形与图形分组、自定义节点、节点动画(下)_哔哩哔哩_bilibili 本章十吾老师讲解了一个复杂的自定义节点中,应该怎样去计算和绘制图形,如何给一个图形制作不间断的动画,以及在鼠标事件之后产生动画。(有点难,需要好好理解) <!DOCTYPE html><html><head><meta charset="UTF-8"><title>06

学习hash总结

2014/1/29/   最近刚开始学hash,名字很陌生,但是hash的思想却很熟悉,以前早就做过此类的题,但是不知道这就是hash思想而已,说白了hash就是一个映射,往往灵活利用数组的下标来实现算法,hash的作用:1、判重;2、统计次数;

性能分析之MySQL索引实战案例

文章目录 一、前言二、准备三、MySQL索引优化四、MySQL 索引知识回顾五、总结 一、前言 在上一讲性能工具之 JProfiler 简单登录案例分析实战中已经发现SQL没有建立索引问题,本文将一起从代码层去分析为什么没有建立索引? 开源ERP项目地址:https://gitee.com/jishenghua/JSH_ERP 二、准备 打开IDEA找到登录请求资源路径位置

深入探索协同过滤:从原理到推荐模块案例

文章目录 前言一、协同过滤1. 基于用户的协同过滤(UserCF)2. 基于物品的协同过滤(ItemCF)3. 相似度计算方法 二、相似度计算方法1. 欧氏距离2. 皮尔逊相关系数3. 杰卡德相似系数4. 余弦相似度 三、推荐模块案例1.基于文章的协同过滤推荐功能2.基于用户的协同过滤推荐功能 前言     在信息过载的时代,推荐系统成为连接用户与内容的桥梁。本文聚焦于

2024年流动式起重机司机证模拟考试题库及流动式起重机司机理论考试试题

题库来源:安全生产模拟考试一点通公众号小程序 2024年流动式起重机司机证模拟考试题库及流动式起重机司机理论考试试题是由安全生产模拟考试一点通提供,流动式起重机司机证模拟考试题库是根据流动式起重机司机最新版教材,流动式起重机司机大纲整理而成(含2024年流动式起重机司机证模拟考试题库及流动式起重机司机理论考试试题参考答案和部分工种参考解析),掌握本资料和学校方法,考试容易。流动式起重机司机考试技

JAVA智听未来一站式有声阅读平台听书系统小程序源码

智听未来,一站式有声阅读平台听书系统 🌟&nbsp;开篇:遇见未来,从“智听”开始 在这个快节奏的时代,你是否渴望在忙碌的间隙,找到一片属于自己的宁静角落?是否梦想着能随时随地,沉浸在知识的海洋,或是故事的奇幻世界里?今天,就让我带你一起探索“智听未来”——这一站式有声阅读平台听书系统,它正悄悄改变着我们的阅读方式,让未来触手可及! 📚&nbsp;第一站:海量资源,应有尽有 走进“智听

零基础学习Redis(10) -- zset类型命令使用

zset是有序集合,内部除了存储元素外,还会存储一个score,存储在zset中的元素会按照score的大小升序排列,不同元素的score可以重复,score相同的元素会按照元素的字典序排列。 1. zset常用命令 1.1 zadd  zadd key [NX | XX] [GT | LT]   [CH] [INCR] score member [score member ...]