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

发布于:2024-05-09 ⋅ 阅读:(29) ⋅ 点赞:(0)

目录

摘要

Abstract

文献阅读:使用带有域分解的PINN求解NS方程

文献摘要

文献讨论|结论

实验设置

NS方程介绍

PINN框架

损失函数

域分解

减轻梯度病理的方法

动态权重方法

新型网络架构

案例证明:2D圆柱尾流

Fluent案例:径向流入的穿孔管道分析

几何建模部分

网格划分

求解器设置

结果展示

有限体积法学习:

总结


摘要

  在本周中,通过阅读文献,进一步了解了使用域分解PINN来解决问题的适用情况以及其原理和优劣性,具体做法为:每个子域使用单独的PINN来计算局部解,通过在接口处施加额外的连续性条件来无缝连接。且可以通过研究各界面上的各种连续条件用于提高性能。在Fluent中,选用径向流入的穿孔管道分析分析,进行几何划分和设置求解。理论学习方面,对有限体积法的基本原理进行了学习。

Abstract

This week, I read the literature to learn more about the applicability and pros and cons of using domain decomposition PINNs to solve problems by using a separate PINN for each subdomain to compute a local solution, seamlessly connected by imposing additional continuity conditions at the interface. It can also be used to improve performance by studying various continuous conditions on various surfaces. In Fluent, I used a radial inflow perforated pipe analysis to do the geometry and setup solving. In terms of theoretical study, I learned the basic principles of the finite volume method.

文献阅读:使用带有域分解的PINN求解NS方程

Physics-informed neural networks with domain decomposition for the incompressible Navier–Stokes equations

文献摘要

本文通过使用域分解的PINN来求解NS方程,并评估了该方法的准确性,收敛性以及不同策略对预测性能的影响。具体做法为:每个子域使用单独的PINN来计算局部解,通过在接口处施加额外的连续性条件来无缝连接。且可以通过研究各界面上的各种连续条件用于提高性能。

文中从流体力学和生物流体力学中的经典问题,包括:二维 Kovasznay流、三维Beltrami流、二维盖驱动腔流和二维圆柱体尾流,以及血管3D血液流动模拟来研究域分解PINN方来求解NS方程,实验结果证明了区域分解PINN方法在精确求解不可压缩Navier-Stokes流问题方面的能力和通用性。

文献讨论|结论

文中从以下观点中提出了PINN的优劣势:

  1. 传统的数值方法(CFD)面临着诸如复杂的计算机代码、解决所有物理尺度所需的高计算成本以及参数值的不确定性的挑战,而PINN可以以更高的效率和准确性处理复杂流体流动模拟的能力。
  2. 对当前深度学习算法(包括pinn)的一个重要评判是围绕它们的可解释性和理论收敛性,而这些仍然没有得到充分的理论证实。
  3. 域分解方式的PINN除了增强并行化能力外,还具有提高精度的优点:通过使用单独的神经网络来学习每个子域内的子问题;并且加入连续性条件(残差连续性条件,通量连续性和高阶连续性条件),该策略可以在几个关键方面显著提高准确性。

文献通过观察诸如精度,收敛性以及各种策略的影响等因素,在界面上引入了创新的连续性条件,如残差和通量连续性,并分析了它们对预测精度和界面一致性的影响。并提出动态权重法和结合注意机制的神经网络架构,意在解决在域分解PINN方法中经常遇到的梯度病理问题。

在对子域的处理中,我们在每个子域中使用单独的网络,为并行计算提供了一个简单的应用然而,没有探讨分布式系统实现的细节或并行效率

通过实验验证有如下结论:

  1. 观察到界面上的连续性条件显著提高了界面的连续性和预测精度。
  2. 网络结构中的动态权重策略和注意机制有助于提高预测精度。这些方法促进了梯度更一致的行为,增强了整体的平衡、稳定性和收敛速度。
  3. 没有深入研究该方法在分布式系统上的具体实现或该方法的并行效率。在今后的工作中探索该方法的并行计算前景是很有意义的。
  4. 认识到在相应的子领域中采用适当设置配置的潜力,包括网络体系结构、优化方法和训练点。这些进展将进一步提高区域分解PINN方法的性能和适应性。
  5. 在PINN中专门学习PDE的特定实例的解函数,缺乏在不重新优化的情况下推广到其他实例的能力。例如,当使用特定雷诺数下的观测数据训练PINN模型时,除非模型经过重新优化,否则它可能无法准确预测不同雷诺数下的流动。

实验设置

NS方程介绍

如图所示,本次实验中的NS方程如下设置,其中T为模拟的实践周期,u为速度矢量场,λ为流体性质,式(1a)对应动量守恒,式(1b)对应质量守恒。此外,方程式。(1c)和(1d)描述边界条件,(1e)是初始条件。

PINN框架

设uNN为由L个隐藏层组成的前馈神经网络,如图所示:

也可表示为:

其中:∘为各种函数的组合;T为第i层的映射,其中的z为(i-1)输出向量;也为第i层的输入向量,表示为:

W为权重矩阵,b为偏置向量;

σ为激活函数,本文使用双曲正切(tanh)函数;具有L个隐藏层,每个隐藏层中有W个神经元的前馈神经网络的大小记为L×W。

在pinn中,采用前馈神经网络来逼近方程的解;由前馈分量和残差网络组成,残差网络负责计算控制方程的残差。为了获得关于空间和时间的导数,从而获得方程的残差,使用自动微分将链式法则应用于uNN。并通过最小化损失函数的方式获得结果。

损失函数

可以表示为:

包括对于初始、边界条件并带上权重函数在总和获得,其损失分量可表示为:

u~和u^分别为参考速度和PINN预测速度。其中(x,t)表示为初始点、边界点和残差点的集合,控制方程的残差记为{fk},具体表示为:

通过优化方法使L 最小,即可得到PINN模型的最优参数。

域分解

将包含域分解的PINN简写成NS-DDPINN,将整个计算域X划分为Nd个不重叠的子域,定义为{Ωd};对于每个子域,使用一个单独的神经网络来计算该特定子域内的局部解。这些子域通过接口边界条件相互连接,方便了相邻子域之间的通信和信息交换。因此,除了将初始条件和边界条件以及方程的残差纳入PINN损失函数之外,每个子域的损失函数还包括与界面条件执行相关的项。

各子域的损失函数如下表示:

最后两个术语对应于用于相邻子域之间通信的接口条件。

Lavg表示为当前子域及其z子域的解之间的均方误差,具体表示为:

(x,t)为随机选取的接口点的集合,下标dþ表示子域的相邻子域。施加了额外的接口条件,用Eq.(9)中的L conti d表示,以增强信息在相邻子域的传播。这些界面条件包括三种类型的解连续性条件:残差连续性、PDE残差的消失导数和通量连续性,具体表示为三者相加表示为最终的连休性损失函数。

残差连续性条件旨在通过最小化PDE残差的差异来增强相邻子域之间的一致性。相应的损失函数:

与PDE残差梯度信息相关的连续性条件是基于PDE残差为零,其梯度也应为零

可以在公共界面处强制PDE残差的损失导数:

最后,通量连续性条件旨在保证公共界面上通量的一致性,损失函数表示为:

值得注意的是,方程(13)中省略了通量的质量项,因为(u, v, w)的C0连续性在L avg d项中得到了加强。通过最小化损失函数(9)对神经网络进行优化后,每个神经网络在其对应的子域内提供最终解。接口处的解值设为相交子域解的平均值。数值上表示为:

控制体Ω表示为:

其中:∂Ω/Γd、Γd为表示第d子域的公共接口和Dirichlet边界;D表示沿公共接口相交的子域的数量。

由于在训练过程中没有提供压力数据,因此将变量p视为隐藏状态,并通过不可压缩约束获得。为了确保一致性,对预测压力施加压力位移,使参考溶液的平均压力值与NS-DDPINN结果相匹配。

为了实现在逆问题的时候确定未知参数k1和k2的同时,利用分散的观测数据实现速度场和压力场的精确预测,使用对每个子域使用单独的神经网络来学习局部解和参数。

损失函数可以写成:

其中L d表示神经网络解与观测数据之间的差异。可由下式计算:

逆问题的损失函数除了具有与正向问题相似的L avg d和L conti d外,还包含了参数沿公共界面的连续性条件。

这个条件确保参数k1和k2在子域之间保持一致,由下式给出:

未知参数k1和k2被视为pinn的参数,并且可以使用自动微分与网络参数同时学习。

减轻梯度病理的方法

动态权重方法

该方法在模型训练过程中利用反向传播梯度自适应调整损失中不同分量之间的权重系数。以损失函数(4)为例,在(k+1)次迭代处的权重系数自动更新如下:

其中a是一个超参数(通常设置为0.9),它决定了前面的动态权重的贡献。量W bc(k+1)和W ini(k+1)表示不同分量的梯度统计量之间的关系。具体来说,它们可以表示为

同样,对于具有域分解的pinn[例如,使用损失函数(9)],可以采用与(19)相同的方式更新与不同分量相关的权重系数。

动态权重法提供了一种自动化的方法来平衡损失中不同成分之间的相互作用,在训练过程中提供了更好的稳定性和性能.

新型网络架构

在传统的全连接架构作为主干的基础上,提出的架构引入了两个额外的分支来将输入投影到高维特征空间中。如图所示(具有注意机制的神经网络建立在传统的全连接架构之上,并结合了一个额外的注意机制):

除了输出的骨干在(i-1)层(i=1;…;L-1),输入变量也连接到第i层。使用逐点乘法运算将这些输入融合到第i层的输入中。数学上,第i层的输入由下式给出:

其中:⊙表示逐点乘法运算,l是一个所有元素都等于1的向量或矩阵。F和g是引入分支的输入,通过两个独立的全连接层变换输入z0得到,表示为:

第i层主干的输出可以写成:

为了评估这些策略的影响,应用动态权值法和新的神经网络架构进行仿真,探讨它们对训练过程收敛性和预测精度的影响。

案例证明:2D圆柱尾流

利用TensorFlow框架,Adam优化算法对神经网络进行优化,Xavier初始化法对神经网络参数进行随机初始化。随后,采用有限记忆Broyden-Fletcher-Goldfarb-Shanno Bound (L-BFGS-B)算法对神经网络进行微调,以达到更高的精度。此微调过程将根据指定的增量公差标准自动终止。为了评估NSDDPINN方法的性能,我们采用了相对L2误差度量,该度量衡量神经网络预测的解(u~和~p)与参考解(u和p)之间的差异。具体而言,相对L2误差计算如下:

研究与二维圆柱尾流相关的逆问题,选定雷诺数Re=100;其中参数λ1=1;λ2=0.01,计算域Ω有空间坐标{1,8}×{-2,2};时间间隔为{0,20};通过将X坐标和y坐标平均分成两部分,将计算域Ω分解为4个子域

该参考方案由100× 50 ×200个分别在x、y和t坐标上的规则采样点组成,覆盖了整个时空域。我们使用从该参考数据中采样的速度场(u, v)上的分散数据作为我们的训练数据。

遵循以下实验设置。对于观测数据,我们在每个时空子域中随机抽取2000个点,即Nu=Nre=2000约占总可用数据的0.8%。对于界面点,我们在每个边界上使用50个点,沿着时间坐标使用200个规则间隔的时间点,使每个子域Nint=2×50×200个边界点,对所有子域采用8×20。利用通量连续性条件作为附加的接口条件来增强子域间的一致性。在训练期间,我们进行了20万次Adam迭代,学习率为10-3。此外,我们采用L-BFGS-B优化算法进一步细化网络。

反问题的结果总结在表7和图13中。表7给出了整个速度解和压力解的相对L2误差,以及使用pinn进行区域分解得到的识别参数k1和k2。

评估了两种策略的有效性:动态权重策略和带有注意机制的神经网络架构。将这些策略与原始设置进行比较,以评估其在提高准确性方面的优势。此外,为了研究用域分解方法求解反问题的pinn的鲁棒性和泛化能力,我们考虑了两种情况:干净的训练数据和被1%不相关高斯噪声破坏的训练数据。图13说明了在训练过程中所有四个子域中识别的参数k1和k2的变化。所示结果是使用干净的训练数据和动态权重策略得到的:

研究结果表明:

(1)动态权重策略和带有注意机制的神经网络架构都有助于提高预测精度。即使使用噪声数据进行训练,pinn也能准确识别未知参数λ1和λ2,有无噪声数据的训练误差可见表7,

(2)PINN模型不仅可以对整个速度场进行准确的预测,而且还可以对整个速度场进行精确的预测。即使没有任何专门针对压力的训练数据,也可以为整个压力场提供质量可靠的估计。

Fluent案例:径向流入的穿孔管道分析

几何建模部分

进入molder designer 调整单位至mm后,在XY平面上绘制一个外圆为100mm,内圆为95mm的同心圆作为管道,选择挤出命令,采用添加冻结的操作,选择轴向为对向对称,将图形草图挤出500mm:

再在ZX平面上绘制一个25mm的圆,使用挤出命令对称挤出100mm,形成圆柱,使用pattern命令在Z轴上每个70mm复制一个同样的圆柱体,在-Z方向上同理,生成如下图形:

在创建命令中选择几何体旋转操作,选择五个小圆柱,在Z轴上进行90°旋转,保留原有几何体:

采用boolean命令进行修剪的操作,将圆柱体删去,实现穿孔的操作:

再XY平面上再次绘制一个300mm的圆,再次挤出500mm,使用boolean命令来进行切割:内穿孔圆柱为工具几何体,外圆柱为目标几何体,完成后将两者形成新的部件,在XY平面上绘制如下图象:

将其再挤出500mm,并使用Boolean切除,几何建模完成:

网格划分

在网格详细信息中将单元尺寸调整为0.003m,并在尺寸调整中打开自适应网格,将分辨率改为7来获取最好的网格:

可见到网格数量过大,将单元尺寸改为0.005进行尺寸调整,在网格中插入方法命令,选择全部的几何体,使用六面体主导的方法,插入尺寸调整的命令,选择前后两个圆柱体的边,共4条,分区数量改为15,使用硬解的方法,同理选择四条相邻的边,分区数量改为30,在小边再次插入尺寸调整,分区为15,后生成网格:

命名完边界名称后,进入求解器设置。

求解器设置

采用层流模型求解,材料选择液体水,固体区域保持默认,进口速度设置为0.001,其余保持默认,出口保持压力出口,分配情况如下:

采用SIMPILEC压力耦合,采用绿色高斯单元,其余保持二阶精度:

残差设置为1e-6,使用标准初始化,在入口处作为参考位置:

进行500次迭代计算,结果如下

结果展示

残差:

速度流线图:

速度云图:

压力云图:

速度矢量:

有限体积法学习:

 

总结

这一周里通过对有限体积法的学习,发现可以更好的理解文献中计算流体力学中的意思,不会像以前一样只通过结果看问题。虽然进步不是很大,但从获得了正向反馈看来这个学习方向应该没错,在下一周里会再次补充有限体积法的相关理论,争取可以做到正确理解。


网站公告

今日签到

点亮在社区的每一天
去签到