当前位置:   article > 正文

学习周报:文献阅读+Fluent案例+水力学理论学习_physics-informed data based neural networks for tw

physics-informed data based neural networks for two-dimensional turbulence

目录

摘要

Abstract

文献阅读

文献摘要

目前面对的问题

提出方法

方程介绍

N—S方程

标准PINN框架

输入、输出层定义

损失函数定义

其余相关方程定义

PINN-1简介

PINN-2简介

两者的不同

结果展示

最佳层数和神经元数

不同百分比的训练数据的损失函数

与直接数值模拟(DNS)的对比

结论

Fluent实例:波纹管中的流动

几何建模部分

网格划分部分

求解器部分

理论学习部分

总结


摘要

在本周中,通过阅读文献,了解到PINN在重现二维湍流中的作用,文献中提出了使用滤波的方式对PINN进行分类,命名为PINN-2在实际运用中与DNS进行对照,取得的结果符合度较高。Fluent中,选用波纹管仿真的案例,进行几何划分和设置求解。理论学习方面,对明渠非均匀流等基本原理进行了学习。

Abstract

During this week, I read the literature and learned about the role of PINN in reproducing 2D turbulence, which proposed the use of filtering to divide PINN, which were compared with DNS in practice and was named PINN-2, and the results obtained were more consistent. In Fluent, the case of bellows simulation is selected to solve the geometric division and setting. In terms of theoretical learning, the basic principles such as non-uniform flow in open channels were studied.

文献阅读

Physics-informed data based neural networks for two-dimensional turbulence

文献摘要

由于研究湍流时需要巨量的资源来进行模拟、存储及分析相关数据,文中提出使用PINN来利用具有周期边界的矩形域中的稀疏数据来预测二维湍流的流量和特征。PINN可以在大尺度上再现所有统计数据,但不能正确捕获小尺度的特征属性。文章以该方面为切入点,通过使用一种新型的PINN模型

目前面对的问题

  1. 基于湍流的标准PINN方法很难再现DNS解,特别是当雷诺数很高时。主要的困难来自大型训练点和神经网络架构的必要性,这要求模型只能在多gpu资源上运行。
  2. PINN是否能够捕捉到湍流的全局状态,即PINN能否捕捉多空间、时间尺度上的波动的可能性未知。

提出方法

  1. 与标准CFD方法相结合,提高计算效率;并开发一种名为PINN—1的新神经网络,可通过稀疏的训练数据来重现湍流特征,其边界条件、初始值以直接数值模拟(DNS)的方式取得。
  2. 引入另一种使用训练数据的频谱分解来训练神经网络的方法,称为PINN—2。

方程介绍

N—S方程

描述流动物理的一般Navier-Stokes方程有如下结构,用X域内的速度变量u表示:

其中:N是非线性算子,M是线性算子。

考虑的是不可压缩流体的NS方程,其压力分布满足泊松方程,压力场取N(u),以u(X,0)为初始条件,其边界条件表示为BC,利用神经网络自动微分的特性,对两种算子进行计算。

标准PINN框架

输入、输出层定义

输入数据为时空坐标(X,T),其输出层的定义如下所示:

其中l为层数,W为权值,b为偏置,σl为激活函数。对权重和偏置进行了优化,使总损失最小。使用基于梯度的优化器25进行优化,即第一组迭代使用Adam优化器26,其余迭代使用L-BFGS-B27,直到达到设置的容差值。

损失函数定义

为了能够最小化损失函数,在模拟高雷诺数流动的前提下,从控制体的X域中取些数据进行模拟。

损失函数定义为:

边界和初始条件损失函数为:

除此之外,还需要添加一个函数,用于描述所施加边界条件的偏差度量,对于任何的速度场,只取正实数。对于当前问题,定义一个名为G的函数,如下所示:

其中:L为X、Y域的长度,^e为单位矢量。

最终的损失函数Ldate定义为:

其中并行点ue(X,T)的数值从DNS中的精确解取得(exact solution),总损失为上述损失函数乘上权重后进行相加取得:

并且定义了一个误差度量,表示为RMSE(均方根误差),如下所示:

其余相关方程定义

为了描述不可压湍流的平面运动,引出一个描绘流场的标量函数,研究双周期域上的强迫耗散湍流,通常采用带有空间强迫、粘性耗散和大尺度阻尼项来研究二维湍流所使用的流函数定义如下:

使用描述速度场和涡度场。

均方根速度如下所示:u_{rms}=\sqrt[]{< u^{2}\left ( x,t \right )>_{x,t} }

对于大尺度摩擦参数α,我们可以定义大尺度雷诺数为:

二维湍流表现为能量的逆级联和熵的正级联,需要解决强迫尺度以上的尺度和强迫尺度以下的尺度,将从全局量和局部量两方面来研究湍流的统计性质。

PINN-1简介

在标准PINN的基础下,以一定的时间间隔使用域(x, y)内部的一些训练数据我们将第一个神经网络称为PINN-1,输出是预测的随时间变化的流函数和压力场,自动满足不可压缩条件。布局如下所示:

PINN-2简介

对于PINN-2,我们基于对湍流能谱的理解来构建神经网络。我们知道,能谱由能量在不同长度尺度上的连续分布组成。然后,我们为低波数和高波数部分构建神经网络,其中分别来自低波数和高波数分量的训练数据被馈送到网络中,在训练数据的谱域分解为低波数和高波数分量,简单的基于坐标的点选择可以很好地预测低波数的行为,而高波数的模式却无法捕捉到我们期望这种神经网络结构能够更好地捕获流的高波数部分,这种神经网络结构是针对低波数和高波数分量的单独网络。

一对低波数和高波数神经网络的输入是同一组采样点(x, y, t)。每个神经网络的输出是对应于低波数和高波数部分的预测流函数和压力场。这些输出进一步组合成总流函数和压力场。

然后使用这些组合字段对方程和边界条件进行训练。但是,对于低波数和高波数,分别计算初始和数据损失,并将其加在一起得到最终的Lini和Ldata。输入到两个神经网络(低和高)的数据和初始场在频谱空间中没有任何重叠,但由于神经网络的非线性,这些神经网络的输出在频谱空间中有重叠。PINN-2模型的截止波数kc是一个参数,用来区分流场的低波数部分和高波数部分。低波数和高波数网络模型的总损失表达式与式7相同。

两者的不同

两个PINN网络(PINN-1和PINN-2)的Loss函数的定义是不同的,因为对于PINN-2,损失初始值Lini和损失数据Ldata计算了两次。需要注意的是,PINN-2中神经网络的结构可以支持不同数量的神经元,对于低波数和高波数的网络层数。由于权重参数和偏置的数量取决于神经元和层的数量,因此可以独立地控制低波数和高波数网络的这些参数的数量。

结果展示

将f0=1,波数kf×L=8Π,经过初始瞬态后进入统计平稳状态,得到雷诺数Re 约等于4.2 ×103和大尺度雷诺数Rh= 2.1,作为整个研究的数据库。将把注意力集中在这种统计平稳的湍流状态上,以发展我们基于PINN的模型。该模型的目的是捕捉湍流在固定时间间隔内不同时空尺度的统计特性。

最后一层使用线性激活函数外,我们对所有层使用tanh激活函数,然后使用L-BFGS-B优化器使用多达20万次epoch,直到公差达到机器精度(双精度)。对于Adams迭代,我们使用1:0:001的学习率,训练了20万次。

最佳层数和神经元数

首先,我们对表1中列出的PINN-1和PINN-2模型的神经元列表进行扫描。

表一:超参数

如图4(a)所示,我们观察到在PINN-1模型中,400个神经元的总损失值是所有模型中最低的,在图5(a)中显示了表1所示的层集的损失函数。我们看到,第五层网络几乎做到了和七层网络一样好的效果。

对于图4(b)所示的PINN-2模型,分别在低波数和高波数网络中组合(250,250)个神经元导致的总损失值最小,且图5(b)同PINN-1相似,也是五层占优。

尽管在这种情况下,可训练的权重参数比最好的PINN-2模型高出25%以上,但我们会发现,PINN-2模型比PINN-1模型表现得更好。        

不同百分比的训练数据的损失函数

训练数据是从现有DNS解决方案的模拟域内部获取的,可从下图看出:

当增加训练数据的百分比时,看到总损失增加了,因为Ldata增加了,故文中将继续使用0.1%的百分比,因为它与其他训练数据集具有可比较的总损失值,并且在计算上更便宜。

与直接数值模拟(DNS)的对比

通过观察能谱E(k),它给出了不同长度尺度上的能量含量,发现PINN-1模型的λ4=150和PINN-2模型的λ4=75表现最好,在对偏离控制方程的非物理解进行惩罚后,我们对权重进行了一次再训练,我们观察到能量谱和能量时间序列与DNS的相关性更好。特别是,对于PINN-1模型的选择值λ4-150和PINN-2模型的选择值λ4=75,再训练一次将Ek分别降低到79.91和47.2。训练情况见下表:

使用RMSE来进行与DNS之间的对比,清楚地发现,对于选择来研究PINN-1和PINN-2的参数,与PINN-1相比,PINN-2具有更低的误差措施,并且具有更高的R2分数。压力场也是PINN模型的输出,对于PINN-2模型,发现压力的RMSE为0.09。

在图8(a)中,我们比较了DNS和PINN模型的总能量E(t)的时间序列。与PINN-1模型相比,PINN-2模型较好地捕捉了总能量随时间的波动。在图8(b)中,我们比较了DNS和PINN模型之间的熵值时间序列。相比之下,PINN-1模式预测的熵值更高。

分别关注图10和图11中测试时间为t=0.45和t=0.98的DNS和PINN-2模型的速度场快照。从这些图中可以看出,尽管只使用了0:1%的可用DNS数据进行训练,但PINN-2模型的速度场中存在的大尺度流结构与DNS的实际湍流解是相同的。

结论

  1. 本研究中使用两个PINN模型来预测二维湍流,第一种方法(PINN-1)包括一个标准的PINN模型以及来自域内部的解决方案数据的训练。第二种方法(PINN-2)类似,但涉及两个神经网络(低波数和高波数),其中这些网络的初始和数据损失分别最小化。观察到PINN-2优于PINN-1, RMSE值更低,R2评分更高。
  2. 对方程损失进行了补偿,得到了物理上可接受的解,能够更准确地捕获能谱。
  3. 与测试时的DNS结果相比,PINN-2模型预测的速度具有合理的精度,而标准DNS模拟面临存储问题,本文研究的PINN-2模式具有很好的捕获大尺度模态波动的能力。
  4. 原则上可以将这种网络用于流体动力学以外的多尺度物理问题,可以为不同的损失函数引入自适应权值,原则上可以提高预测精度由于PINN-2模型能够捕获几十年的能谱密度。

Fluent实例:波纹管中的流动

几何建模部分

调整单位至毫米,在XY平面上建立草图,绘制同心圆,尺寸为50mm和60mm。使用挤出命令来使圆柱体生成,挤出长度为100mm,并添加Frozen。在YZ平面上重新生成新的草图,并按下图标记来进行尺寸划分:D1=5mm;H4=25mm;V3=5mm。

使用旋转命令,以草图二为目标几何结构,以Y轴为对称轴进行旋转,旋转角度为360°。再使用pattern命令,再Y轴上以10mm为间隔生成8个复制体:再采用boolean命令使其进行分割,不保存工具几何体:

再选择20条边,使用blend中的固定半径命令将2mm半径的螺旋刻度混合进入凹槽中:

几何建模如下所示:

再XY平面上绘制新的草图,绘制一个60mm的圆作为流体区域,再挤出一个100mm的区域后使用boolean命令使其同原建模划分开来:

网格划分部分

使用自划分网格来检查几何体绘制情况,若成功划分网格证明几何建模无问题,直接使用生成的网格,命名完成后进入求解部分:

求解器部分

打开重力选线,定义为Y=-9.81,采用K-epsilon 标准壁面函数模型:

选取水为流体材料,参数等保持默认,不发生改变。设置边界条件:

使用标准初始化求解,具体设置如下:

进行200次迭代计算,结果如下所示:

原案例中结果对比:

速度流线图:

速度矢量图:

速度云图:

压力云图:

涡流速度云图:

理论学习部分

总结

本周在看文献的过程中,越发感觉自己对于机器学习和深度学习之类的概念了解太少了,不能够很好的理解文献中的概念,导致阅读时出现卡壳,在以后的学习中应该加入这一部分的学习,将相关的部分补全。关于水力学的学习也接近尾声,下周会再接再厉。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/天景科技苑/article/detail/751119
推荐阅读
相关标签
  

闽ICP备14008679号