这是一篇使用 VPinn 来求解 Navier-Stokes 方程的论文。
我们先来看看这篇论文的摘要:
英文原文:
We present TSA-PINN, a novel Physics-Informed Neural Network (PINN) that leverages a Trainable Sinusoidal Activation (TSA) mechanism to approximate solutions to the Navier-Stokes equations. By incorporating neuronwise sinusoidal activation functions with trainable frequencies and a dynamic slope recovery mechanism, TSAPINN achieves superior accuracy and convergence. Its ability to dynamically adjust activation frequencies enables efficient modeling of complex fluid behaviors, reducing training time and computational cost. Our testing goes beyond canonical problems, to study less-explored and more challenging scenarios, which have typically posed difficulties for prior models. Various numerical tests underscore the efficacy of the TSA-PINN model across five different scenarios. These include steady-state two-dimensional flows in a lid-driven cavity at two different Reynolds numbers; a cylinder wake problem characterized by oscillatory fluid behavior; and two time-dependent three-dimensional turbulent flow cases. In the turbulent cases, the focus is on detailed near-wall phenomenaincluding the viscous sub-layer, buffer layer, and log-law region—as well as the complex interactions among eddies of various scales. Both numerical and quantitative analyses demonstrate that TSA-PINN offers substantial improvements over conventional PINN models. This research advances physics-informed machine learning, setting a new benchmark for modeling dynamic systems in scientific computing and engineering.
翻译:
我们介绍 TSA-PINN,一种新型物理知情神经网络(PINN),利用可训练正弦激活(TSA)机制近似纳维-斯托克斯方程的解。通过结合具有可训练频率的神经元正弦激活功能和动态斜坡恢复机制,TSAPINN 实现了卓越的准确性和收敛性。其动态调节激活频率的能力使复杂流体行为的高效建模成为可能,从而缩短训练时间和计算成本。我们的测试超越了典型问题,还研究了较少被探索且更具挑战性的情景,这些通常对以往模型来说是困难。各种数值测试强调了 TSA-PINN 模型在五种不同情景中的有效性。这些包括在两个不同雷诺数下,盖子驱动腔内的稳态二维流动;一个以振荡流体行为为特征的圆柱尾流问题;以及两个时间相关的三维湍流情况。湍流情况下,重点关注详细的近壁现象,包括粘性亚层、缓冲层和对数定律区域——以及不同尺度涡流之间的复杂相互作用。数值和定量分析均表明,TSA-PINN 相较传统 PINN 模型有显著改进。这项研究推动了基于物理的机器学习,为科学计算和工程中动态系统建模树立了新标杆。
物理信息神经网络(PINN)
PINN 将观测数据和已知的控制方程整合到神经网络模型中,以近似物理系统的解。具体来说,他们估计状态向量 u ^ ( x , t ) \hat{u}(x,t) u ^ ( x , t ) ,使其近似实际系统状态 u ( x , t ) u(x,t) u ( x , t ) ,其中 x ∈ R d x \in \mathbb{R}^d x ∈ R d 表示域内的空间坐标,t ∈ [ 0 , T ] t \in [0,T] t ∈ [ 0 , T ] 表示时间。
系统的控制动力学被非线性算符 N \mathcal{N} N 封装,系统的行为通过微分方程建模:
∂ u ∂ t + N ( u ; x , t ) = 0. (1) \frac{\partial u}{\partial t}+\mathcal{N} \left( u;x,t \right) =0. \tag{1} ∂ t ∂ u + N ( u ; x , t ) = 0. ( 1 )
PINN 模型旨在最小化包含数据忠实度项和物理信息项的损失函数。数据忠实度项旨在最小化预测解与参考解之间的差异
L d a t a = ∑ i = 1 N d a t a ∥ u ^ ( x i , t i ) − u ( x i , t i ) ∥ 2 , (2) L_{\mathrm{data}}=\sum_{i=1}^{{N}_{\mathrm{data}}}{\left\| \hat{{u}}({x}_i,t_i)-{u}({x}_i,t_i) \right\| ^2,}\tag{2} L data = i = 1 ∑ N data ∥ u ^ ( x i , t i ) − u ( x i , t i ) ∥ 2 , ( 2 )
其中, N d a t a N_{data} N d a t a 是可用数据点的数量,( x i , t i ) (x_i,t_i) ( x i , t i ) 表示这些点的时空坐标。
物理学基础的术语确保预测遵循控制的偏微分方程(PDE),
L p h y s = ∑ j = 1 N p h y s ∥ N ( u ^ ( x j , t j ) ; x j , t j ) ∥ 2 , (3) L_{\mathrm{phys}}=\sum_{j=1}^{{N}_{\mathrm{phys}}}{\left\| \mathcal{N} (\hat{{u}}({x}_j,t_j);{x}_j,t_j) \right\| ^2,}\tag{3} L phys = j = 1 ∑ N phys ∥ N ( u ^ ( x j , t j ) ; x j , t j ) ∥ 2 , ( 3 )
其中, N p h y s N_{phys} N p h ys 表示物理定律被执行的采样点数量。
训练的目标是最小化合并损失函数
L P I N N = L d a t a + L p h y s , (4) {L}_{{PINN}}={L}_{{data}}+{L}_{{phys}},\tag{4} L P I NN = L d a t a + L p h ys , ( 4 )
我们想要的近似解 u ^ ( x , t ) \hat{u}(x,t) u ^ ( x , t ) 收敛于真实解 u ( x , t ) {u}(x,t) u ( x , t ) 。这一过程确保模型不仅符合观测数据,还满足支配系统的物理原理。
神经网络
普遍逼近定理证明,即使是带有单一隐藏层的简单多层感知器,也可以通过增加神经元数量,以任意精度近似任意连续函数[43–45]。PINN 模型中广泛使用的架构是前馈神经网络(FFNN),由多个完全连接的层组成。每个神经元在某一层的输出描述为
f i ( x ; w i , b i ) = α ( w i ⋅ x + b i ) , f o r i = 1 , 2 , . . . , n , (5) {f}_i({x};{w}_i,{b}_i)={\alpha }({w}_i\cdot {x}+{b}_i),\quad \mathrm{for}\quad i=1,2,...,n,\tag{5} f i ( x ; w i , b i ) = α ( w i ⋅ x + b i ) , for i = 1 , 2 , ... , n , ( 5 )
其中, x x x 表示输入向量,w i w_i w i 和 b i b_i b i 分别是第 i i i 个神经元的权重向量和偏置。非线性激活函数 α \alpha α 使网络能够捕捉数据中的复杂关系。
在 Navier-Stokes 方程的近似解中,FFNN 接收空间和时间坐标 X = ( t , x , y , z ) X = (t,x,y,z) X = ( t , x , y , z ) 作为输入。网络输出由速度场 U ( X ) = ( u , v , w ) U(X) = (u, v, w) U ( X ) = ( u , v , w ) 和压力场 P ( X ) P(X) P ( X ) 组成,表达式为
U θ ( X ) , P θ ( X ) = f N N ( X , θ ) , (6) {U\theta }({X}),{P\theta }({X})={f}_{\mathrm{NN}}({X},{\theta }),\tag{6} U θ ( X ) , Pθ ( X ) = f NN ( X , θ ) , ( 6 )
其中,f N N ( X , θ ) f_{NN} (X,θ) f NN ( X , θ ) 是近似速度场和压力场的神经网络函数,θ = w , b θ = w,b θ = w , b 表示网络中所有可训练参数。训练网络涉及通过最小化预测与实际物理场之间的差异来优化 θ θ θ ,这些差异由损失函数(方程(1)、(2)、(3)和(4))表述。最终的 FFNN 表示写作:
f N N ( x , θ ) = ( a L ∘ α ∘ a L − 1 ∘ ⋯ ∘ α ∘ a 1 ) ( x ) , (7) f_{NN}\left( x,\theta \right) =\left( a_L\circ \alpha \circ a_{L-1}\circ \cdots \circ \alpha \circ a_1 \right) \left( x \right) , \tag{7} f NN ( x , θ ) = ( a L ∘ α ∘ a L − 1 ∘ ⋯ ∘ α ∘ a 1 ) ( x ) , ( 7 )
其中, a ( x ) = w x + b . a(x) = wx+b. a ( x ) = w x + b .
物理信息神经网络的可训练正弦激活
可训练的正弦激活机制
激活功能的目的是判断神经元应激活还是保持不活跃。在缺乏非线性激活函数的情况下,模型只需利用权重和偏差进行线性变换,这对应于线性回归模型。假设不使用非线性激活函数,这意味着 f ( z ) = z f(z)= z f ( z ) = z 。在这种情况下,每层的输出仅为(见图 1)
a i = z i = w i a i − 1 + b i , (8) a_i=z_i=w_ia_{i-1}+b_i,\tag{8} a i = z i = w i a i − 1 + b i , ( 8 )
从输入层开始
a 1 = w 1 x + b 1 , (9) {a}_{{1}}={w}_{{1}}{x}+{b}_{{1}}, \tag{9} a 1 = w 1 x + b 1 , ( 9 )
第二层
a 2 = w 2 a 2 + b 2 = w 2 ( w 1 x + b 1 ) + b 2 = w 1 w 2 x + w 2 b 1 + b 2 (10) \begin{aligned}
a_2&=w_2a_2+b_2=w_2(w_1x+b_1)+b_2\\
&=w_1w_2x+w_2b_1+b_2\\ \tag{10}
\end{aligned} a 2 = w 2 a 2 + b 2 = w 2 ( w 1 x + b 1 ) + b 2 = w 1 w 2 x + w 2 b 1 + b 2 ( 10 )
以及第三层
a 3 = w 3 a 2 + b 3 = w 3 ( w 2 w 1 x + w 2 b 1 + b 2 ) + b 3 = w 3 w 2 w 1 x + w 3 w 2 b 1 + w 3 b 2 + b 3 . (11) a_3=w_3a_2+b_3=w_3(w_2w_1x+w_2b_1+b_2)+b_3
\\
\qquad \qquad =w_3w_2w_1x+w_3w_2b_1+w_3b_2+b_3.\tag{11} a 3 = w 3 a 2 + b 3 = w 3 ( w 2 w 1 x + w 2 b 1 + b 2 ) + b 3 = w 3 w 2 w 1 x + w 3 w 2 b 1 + w 3 b 2 + b 3 . ( 11 )
这一过程持续到到达最后一层 L L L 。
a L = w L w L − 1 . . . w 2 w 1 x + ( w L w L − 1 . . . w 2 b 1 + w L w L − 1 . . . w 3 b 2 + ⋯ + b L ) . (12) a_L=w_Lw_{L-1}...w_2w_1x+(w_Lw_{L-1}...w_2b_1+w_Lw_{L-1}...w_3b_2+\cdots +b_L).\tag{12} a L = w L w L − 1 ... w 2 w 1 x + ( w L w L − 1 ... w 2 b 1 + w L w L − 1 ... w 3 b 2 + ⋯ + b L ) . ( 12 )
在最后一层,网络输出可以写成
y = w t o t a l x + b t o t a l (13) {y}={w}_{\mathrm{total}}{x}+{b}_{\mathrm{total}}\tag{13} y = w total x + b total ( 13 )
其中,w t o t a l = w L w L − 1 . . . w 2 w 1 w_{total} = w_Lw_{L−1}...w_2w_1 w t o t a l = w L w L − 1 ... w 2 w 1 是将所有权重矩阵相乘而成的矩阵,b t o t a l = ( w L w L − 1 . . . w 2 b 1 + w L w L − 1 . . . w 3 b 2 + ⋯ + b L ) b_{total} = (w_Lw_{L−1} ...w_2b_1 + w_Lw_{L−1} ...w_3b_2 + ⋯ + b_L) b t o t a l = ( w L w L − 1 ... w 2 b 1 + w L w L − 1 ... w 3 b 2 + ⋯ + b L ) 是所有偏置项的组合。该表达式是输入 x x x 的线性变换。网络中没有引入非线性,因此无论网络深度(层数多少),输出仍然是输入(13)的线性函数。对于标准全联通神经网络(FFNN),第 k k k 层神经元 i i i 的预激活输出为:
z i ( k ) = w i ( k ) ⋅ a ( k − 1 ) + b i ( k ) , (14) {z}_{{i}}^{{(k)}}=\mathbf{w}_{i}^{(k)}\cdot \mathbf{a}^{(k-1)}+b_{i}^{(k)},\tag{14} z i ( k ) = w i ( k ) ⋅ a ( k − 1 ) + b i ( k ) , ( 14 )
其中,a ( k − 1 ) ∈ R n k − 1 \mathbf{a}^{\left( k-1 \right)}\in \mathbb{R} ^{n_{k-1}} a ( k − 1 ) ∈ R n k − 1 是来自第 k − 1 k-1 k − 1 层的输入向量,w i ( k ) ∈ R n k − 1 \mathbf{w}_{i}^{(k)}\in \mathbb{R} ^{n_{k-1}} w i ( k ) ∈ R n k − 1 是 K K K 层中神经元 i i i 的权重矢量, b i ( k ) ∈ R b_{i}^{\left( k \right)}\in R b i ( k ) ∈ R 是神经元 i i i 的偏置,z i ( k ) ∈ R z_{i}^{\left( k \right)}\in R z i ( k ) ∈ R 是标量激活前的输出。
在本研究中,我们使用一个按神经元划分的正弦激活函数,其频率为可训练的 f i ( k ) ∈ R f_{i}^{\left( k \right)}\in \mathbb{R} f i ( k ) ∈ R 。每个神经元的激活输出计算为:
ψ i ( k ) = sin ( f i ( k ) z i ( k ) ) , (15) \psi _{i}^{\left( k \right)}=\sin \left( f_{i}^{\left( k \right)}z_{i}^{\left( k \right)} \right) , \tag{15} ψ i ( k ) = sin ( f i ( k ) z i ( k ) ) , ( 15 )
ϕ i ( k ) = cos ( f i ( k ) z i ( k ) ) , (16) \phi _{i}^{\left( k \right)}=\cos \left( f_{i}^{\left( k \right)}z_{i}^{\left( k \right)} \right) , \tag{16} ϕ i ( k ) = cos ( f i ( k ) z i ( k ) ) , ( 16 )
a i ( k ) = ζ 1 ψ i ( k ) + ζ 2 ϕ i ( k ) = ζ 1 sin ( f i ( k ) z i ( k ) ) + ζ 2 cos ( f i ( k ) z i ( k ) ) , (17) a_{i}^{(k)}=\zeta _1\psi _{i}^{(k)}+\zeta _2\phi _{i}^{(k)}=\zeta _1\sin\mathrm{(}f_{i}^{(k)}z_{i}^{(k)})+\zeta _2\cos\mathrm{(}f_{i}^{(k)}z_{i}^{(k)}),\tag{17} a i ( k ) = ζ 1 ψ i ( k ) + ζ 2 ϕ i ( k ) = ζ 1 sin ( f i ( k ) z i ( k ) ) + ζ 2 cos ( f i ( k ) z i ( k ) ) , ( 17 )
其中,ζ 1 , ζ 2 ∈ R \zeta_1,\zeta_2\in \mathbb{R} ζ 1 , ζ 2 ∈ R 是可训练或固定的标量系数,跨层共享。
设 a ( k − 1 ) ∈ R n k − 1 a(k−1)\in \mathbb{R}^{n_{k−1}} a ( k − 1 ) ∈ R n k − 1 为 k k k 层的输入向量。该层的预激活向量为:
z ( k ) = W ( k ) a ( k − 1 ) + b ( k ) , (18) \mathbf{z}^{(k)}=\mathbf{W}^{(k)}\mathbf{a}^{(k-1)}+\mathbf{b}^{(k)}, \tag{18} z ( k ) = W ( k ) a ( k − 1 ) + b ( k ) , ( 18 )
其中,W ( k ) ∈ R n k × n k − 1 \mathbf{W}^{(k)}\in \mathbb{R} ^{n_k\times n_{k-1}} W ( k ) ∈ R n k × n k − 1 是第 k k k 层的权重矩阵,b ( k ) ∈ R n k b^{\left( k \right)}\in R^{n_k} b ( k ) ∈ R n k 是偏置向量,z ( k ) ∈ R n k z^{\left( k \right)}\in R^{n_k} z ( k ) ∈ R n k 是预激活载体。
元素间正弦激活使用可训练频率向量 f ( k ) ∈ R n k f^{\left( k \right)}\in R^{n_k} f ( k ) ∈ R n k :
ψ ( k ) = sin ( f ( k ) ⊙ z ( k ) ) , (19) \psi ^{\left( k \right)}=\sin \left( f^{\left( k \right)}\odot z^{\left( k \right)} \right) ,\tag{19} ψ ( k ) = sin ( f ( k ) ⊙ z ( k ) ) , ( 19 )
ϕ ( k ) = cos ( f ( k ) ⊙ z ( k ) ) , (20) \phi ^{\left( k \right)}=\cos \left( f^{\left( k \right)}\odot z^{\left( k \right)} \right) ,\tag{20} ϕ ( k ) = cos ( f ( k ) ⊙ z ( k ) ) , ( 20 )
其中,⊙ \odot ⊙ 表示哈达玛(按元素)乘积。
当 N = n k N = n_k N = n k 个神经元时, 第 k k k 层的最终输出显式表示为:
a ( k ) = [ a 1 ( k ) a 2 ( k ) ⋮ a N ( k ) ] = [ ζ 1 sin ( f 1 ( k ) z 1 ( k ) ) + ζ 2 cos ( f 1 ( k ) z 1 ( k ) ) ζ 1 sin ( f 2 ( k ) z 2 ( k ) ) + ζ 2 cos ( f 2 ( k ) z 2 ( k ) ) ⋮ ζ 1 sin ( f N ( k ) z N ( k ) ) + ζ 2 cos ( f N ( k ) z N ( k ) ) ] . (21) \mathbf{a}^{(k)}=\left[ \begin{array}{c}
a_{1}^{(k)}\\
a_{2}^{(k)}\\
\vdots\\
a_{N}^{(k)}\\
\end{array} \right] =\left[ \begin{array}{c}
\zeta _1\sin\mathrm{(}f_{1}^{(k)}z_{1}^{(k)})+\zeta _2\cos\mathrm{(}f_{1}^{(k)}z_{1}^{(k)})\\
\zeta _1\sin\mathrm{(}f_{2}^{(k)}z_{2}^{(k)})+\zeta _2\cos\mathrm{(}f_{2}^{(k)}z_{2}^{(k)})\\
\vdots\\
\zeta _1\sin\mathrm{(}f_{N}^{(k)}z_{N}^{(k)})+\zeta _2\cos\mathrm{(}f_{N}^{(k)}z_{N}^{(k)})\\
\end{array} \right] .\tag{21} a ( k ) = a 1 ( k ) a 2 ( k ) ⋮ a N ( k ) = ζ 1 sin ( f 1 ( k ) z 1 ( k ) ) + ζ 2 cos ( f 1 ( k ) z 1 ( k ) ) ζ 1 sin ( f 2 ( k ) z 2 ( k ) ) + ζ 2 cos ( f 2 ( k ) z 2 ( k ) ) ⋮ ζ 1 sin ( f N ( k ) z N ( k ) ) + ζ 2 cos ( f N ( k ) z N ( k ) ) . ( 21 )
这种表述使每个神经元能够独立适应其激活频率,使网络能够在不同神经元之间表示具有不同且可能高频成分的功能。
Slope recovery
边坡恢复项 S ( a ) S(a) S ( a ) 动态调整激活函数的斜率,这对于保持网络中活跃且有效的梯度传播至关重要。通过引入这一受 Jagtap 等人[42]启发的术语,网络被迫快速提升激活斜率,从而加速训练过程。我们有
S ( a ) = 1 1 L − 1 ∑ k = 1 L − 1 exp ( 1 N k ∑ i = 1 N k f i k ) , (22) S\left( a \right) =\frac{1}{\frac{1}{L-1}\sum_{k=1}^{L-1}{\exp \left( \frac{1}{N_k}\sum_{i=1}^{N_k}{f_{i}^{k}} \right)}},\tag{22} S ( a ) = L − 1 1 ∑ k = 1 L − 1 exp ( N k 1 ∑ i = 1 N k f i k ) 1 , ( 22 )
其中,L L L 表示图层总数; N k N_k N k 表示第 k 层的神经元数; f i k {f}_{{i}}^{{k}} f i k 是第 k k k 层中第 i i i 个神经元的可训练频率。
斜率恢复项被包含在损失函数中,以调节可训练频率对训练动力学的影响。带边坡恢复项的增减损函数写作
L P I N N = L d a t a + L p h y s + λ S ( a ) , (23) L_{PINN}=L_{data}+L_{phys}+\lambda S\left( a \right) ,\tag{23} L P I NN = L d a t a + L p h ys + λ S ( a ) , ( 23 )
其中, λ λ λ 是一个超参数,用于确定全损耗中边坡恢复项的权重,限制模型优化频率参数。
损失函数
为了建立与 TSA-PINN 模型相关的损耗函数,考虑了一个涉及三维时间依赖湍流通道流的问题。控制流动的不可压缩纳维-斯托克斯方程以速度-压力(VP)形式表示:
∂ u ∂ t + u ⋅ ∇ u + ∇ p − 1 R e Δ u = 0 , i n Ω ; (24) \frac{\partial {u}}{\partial t}+{u}\cdot \nabla {u}+\nabla p-\frac{1}{Re}\Delta {u}=0,\hskip 28.4528pt \mathrm{in}\hskip 5.69055pt \Omega ; \tag{24} ∂ t ∂ u + u ⋅ ∇ u + ∇ p − R e 1 Δ u = 0 , in Ω ; ( 24 )
∇ ⋅ u = 0 , i n Ω ; (25) \nabla \cdot {u}=0,\qquad \qquad \qquad \qquad \qquad \qquad \mathrm{in}\Omega ; \tag{25} ∇ ⋅ u = 0 , in Ω ; ( 25 )
u = u Γ , o n Γ D ; (26) {u}={u}_{\Gamma},\qquad \qquad \qquad \qquad \qquad \qquad \quad on\,\, \Gamma _D; \tag{26} u = u Γ , o n Γ D ; ( 26 )
∂ u ∂ n = 0 , o n Γ N . (27) \frac{\partial {u}}{\partial n}=0,\qquad \qquad \qquad \qquad \qquad \qquad on\Gamma _{{N}}.\tag{27} ∂ n ∂ u = 0 , o n Γ N . ( 27 )
在此内容中,无维时间为 t t t 。无量纲速度矢量记为 u ( x , y , z , t ) = [ u , v , w ] T u(x,y,z,t) = [u,v,w]^T u ( x , y , z , t ) = [ u , v , w ] T 和 P P P 表示无量纲压力。雷诺数 R e Re R e 是一个参数,用于通过比较惯性力与粘性力来表征流动的动力学。定义为 R e = ρ u L μ Re=\frac{\rho uL}{\mu} R e = μ ρ uL ,其中 ρ ρ ρ 是流体密度,u u u 是特征速度,L L L 代表特征长度尺度,μ μ μ 是动态粘度。狄利克雷边界条件和诺依曼边界条件分别由方程(26)和(27)给出。与动量守恒方程和连续性方程(24)和(25)相关的残差分别可表示为:
R x = ∂ t u + u ∂ x u + υ ∂ y u + υ υ ∂ Z u + ∂ X p − 1 R e ( ∂ x x 2 u + ∂ y y 2 u + ∂ Z z 2 u ) ; (28) R_x=\partial _tu+u\partial _{_x}u+\upsilon \partial _{_y}u+\upsilon \upsilon \partial _{_Z}u+\partial _{_X}p -\frac{1}{Re}(\partial _{xx}^{2}u+\partial _{yy}^{2}u+\partial _{_Zz}^{2}u);\tag{28} R x = ∂ t u + u ∂ x u + υ ∂ y u + υυ ∂ Z u + ∂ X p − R e 1 ( ∂ xx 2 u + ∂ yy 2 u + ∂ Z z 2 u ) ; ( 28 )
R y = ∂ t υ + u ∂ x υ + υ ∂ y υ + υ ∂ z υ + ∂ y p − 1 R e ( ∂ x x 2 υ + ∂ y y 2 υ + ∂ z z 2 υ ) ; (29) R_y=\partial _t\upsilon +u\partial _x\upsilon +\upsilon \partial _y\upsilon +\upsilon \partial _z\upsilon +\partial _yp-\frac{1}{Re}(\partial _{xx}^{2}\upsilon +\partial _{yy}^{2}\upsilon +\partial _{zz}^{2}\upsilon );\tag{29} R y = ∂ t υ + u ∂ x υ + υ ∂ y υ + υ ∂ z υ + ∂ y p − R e 1 ( ∂ xx 2 υ + ∂ yy 2 υ + ∂ zz 2 υ ) ; ( 29 )
R z = ∂ t w + u ∂ x w + υ ∂ y w + w ∂ z w + ∂ z p − 1 R e ( ∂ x x 2 w + ∂ y y 2 w + ∂ z z 2 w ) ; (30) {R}_z=\partial _t{w}+{u}\partial _x{w}+{\upsilon }\partial _y{w}+{w}\partial _z{w}+\partial _z{p}-\frac{1}{{Re}}(\partial _{xx}^{2}{w}+\partial _{yy}^{2}{w}+\partial _{zz}^{2}{w});\tag{30} R z = ∂ t w + u ∂ x w + υ ∂ y w + w ∂ z w + ∂ z p − R e 1 ( ∂ xx 2 w + ∂ yy 2 w + ∂ zz 2 w ) ; ( 30 )
R c = ∂ x u + ∂ y v + ∂ z w . (31) R_c=\partial _xu+\partial _yv+\partial _zw.\tag{31} R c = ∂ x u + ∂ y v + ∂ z w . ( 31 )
这里,R x R_x R x 、R y R_y R y 、R z R_z R z 和 R c R_c R c 分别表示 x x x 、y y y 和 z z z 方向动量方程的残差,以及无散度约束。为了计算偏微分算子,使用自动微分[46]。该方法涉及计算计算图输出对变量 x x x 、y y y 、z z z 和 t t t 的导数,以近似控制方程中的导数。在 TSA-PINN 的背景下,近似问题被重新表述为涉及网络参数 w w w 、b b b 和 f f f 的优化问题。目标是最小化与解近似相关的损失函数。损失函数表示 为:
L = L I C + L B C + L R + λ L S , (32) {L}={L}_{{IC}}+{L}_{{BC}}+{L}_{{R}}+\lambda {L}_{{S}},\tag{32} L = L I C + L BC + L R + λ L S , ( 32 )
以及损失函数项可以写成:
L I C = 1 N 1 ∑ n = 1 N 1 ∣ u θ n − u I C n ∣ 2 ; (33) L_{IC}=\frac{1}{N_1}\sum_{n=1}^{N_1}{\bigl| u_{\theta}^{n}-u_{IC}^{n} \bigr| ^2;}\tag{33} L I C = N 1 1 n = 1 ∑ N 1 u θ n − u I C n 2 ; ( 33 )
L B C = 1 N B ∑ n = 1 N B ∣ u θ n − u B C n ∣ 2 ; (34) {L}_{{BC}}=\frac{1}{{N}_{{B}}}\sum_{{n}={1}}^{{N}_{{B}}}{\left| u_{\theta}^{n}-u_{\mathrm{BC}}^{n} \right|^2};\tag{34} L BC = N B 1 n = 1 ∑ N B ∣ u θ n − u BC n ∣ 2 ; ( 34 )
L R = 1 N R ( ∑ n = 1 N R ∣ R x n ∣ 2 + ∑ n = 1 N R ∣ R y n ∣ 2 + ∑ n = 1 N R ∣ R z n ∣ 2 + ∑ n = 1 N R ∣ R c n ∣ 2 ) , (35) L_{\mathrm{R}}=\frac{1}{N_{\mathrm{R}}}\biggl( \sum_{n=1}^{N_{\mathrm{R}}}{\bigl| R_{x}^{n} \bigr| ^2}+\sum_{n=1}^{N_{\mathrm{R}}}{\bigl| R_{y}^{n} \bigr| ^2}+\sum_{n=1}^{N_{\mathrm{R}}}{\bigl| R_{z}^{n} \bigr| ^2}+\sum_{n=1}^{N_{\mathrm{R}}}{\bigl| R_{c}^{n} \bigr| ^2} \biggr) ,\tag{35} L R = N R 1 ( n = 1 ∑ N R R x n 2 + n = 1 ∑ N R R y n 2 + n = 1 ∑ N R R z n 2 + n = 1 ∑ N R R c n 2 ) , ( 35 )
其中,L I C L_{IC} L I C 、 L B C L_{BC} L BC 和 L R L_R L R 分别表示与初始条件(I C IC I C )、边界条件(B C BC BC )和支配偏微分方程残差的近似相关的误差。方程(32)的最后一项代表了边坡恢复项,如方程(22)所示。优化问题会发现网络参数的最优值,使得最小化与近似相关的损失:
W ∗ = a r g min w ( L ( w ) ) ; (36) W^*=arg\min_w \left( L\left( w \right) \right) ;\tag{36} W ∗ = a r g w min ( L ( w ) ) ; ( 36 )
b ∗ = a r g min b ( L ( b ) ) ; (37) b^*=arg\min_b \left( L\left( b \right) \right) ;\tag{37} b ∗ = a r g b min ( L ( b ) ) ; ( 37 )
f ∗ = a r g min f ( L ( f ) ) . (38) f^*=arg\min_f \left( L\left( f \right) \right) .\tag{38} f ∗ = a r g f min ( L ( f ) ) . ( 38 )
该最小化问题通过梯度下降方法近似。模型参数更新如下:
w m + 1 = w m − η ∇ w m L m ( w ) ; (39) {w}^{{m}+{1}}={w}^{{m}}-\eta \nabla _{{w}^{{m}}}{L}^{{m}}({w});\tag{39} w m + 1 = w m − η ∇ w m L m ( w ) ; ( 39 )
b m + 1 = b m − η ∇ b m L m ( b ) ; (40) {b}^{{m}+{1}}={b}^{{m}}-{\eta }\nabla _{{b}^{{m}}}{L}^{{m}}{(b)};\tag{40} b m + 1 = b m − η ∇ b m L m ( b ) ; ( 40 )
f m + 1 = f m − η ∇ f m L m ( f ) , (41) f^{m+1}=f^m-\eta \nabla _{f^m}L^m(f),\tag{41} f m + 1 = f m − η ∇ f m L m ( f ) , ( 41 )
其中,在第 m m m 次迭代中,η η η 表示学习率,L m L_m L m 为损失函数。
结果与讨论
这里边提出了五个算例,三个二维算例,两个三维算例。
为了验证 TSA-PINN 的特性,应用它在各种场景下近似纳维斯托克斯方程:
Re = 100 时的二维稳态盖驱动腔问题;
Re = 3200 处的二维稳态盖驱动腔问题;
二维时变圆柱尾迹;
3D 时间依赖湍流通道流:近壁区;
3D 时间依赖湍流通道流动:覆盖更大范围。
为了估计每种情景相关的误差,使用所有评估点误差的相对 L 2 L_2 L 2 范数为
E r r o r i = ∥ U ^ i − U i ∥ 2 ∥ U i ∥ 2 × 100 , (42) \mathrm{Error}_i=\frac{\left\| \hat{{U}}_i-{U}_i \right\| _2}{\left\| {U}_i \right\| _2}\times 100, \tag{42} Error i = ∥ U i ∥ 2 U ^ i − U i 2 × 100 , ( 42 )
其中,下标 i i i 表示变量的指标,‖ ⋅ ‖ 2 ‖⋅‖_2 ‖ ⋅ ‖ 2 表示 L 2 L_2 L 2 范数。U ^ \hat{U} U ^ 和 U U U 分别表示近似解和参考解的向量。标准 PINN 模型使用 tanh 激活函数。对于两种模型,TSA-PINN 和标准 PINN,权重和偏差均使用格洛罗特正规法初始化 [47]。可训练频率初始化时使用 σ = 1.0 \sigma = 1.0 σ = 1.0 ,除非另有说明。所有情况下均采用梯度下降法,配合 ADAM 优化器[48]。TensorFlow 用于自动微分和计算图构建[49]。
Re = 100 时的二维稳态盖驱动腔问题;