1. 引言
过去,研究人员通常采用常规方法对相场模型进行数值模拟。然而,解决这类方程的传统方法需要网格划分、求解非线性方程组、产生大量的计算费用,并面临巨大的技术障碍。目前,随着人工智能的广泛应用,利用神经网络求解偏微分方程得到了研究人员的广泛关注。与传统方法相比,基于神经网络的方法不仅可以实现快速的正演和逆建模[1] [2],而且可以有效地处理非线性问题[3]。它们可以解决更复杂和高维的偏微分方程,可能会彻底改变传统的数值技术,并促进数值模拟的实质性转变。
近年来,许多学者提出用神经网络求解相场模型。Goswami等人[4]通过最小化系统的变分能量来求解相场方程。Qiu等人[5]通过将相场模型的物理信息编码到神经网络的残差中,开发了基于物理的神经网络相场方法(PF-PINNs)。Kiyani等人[6]提出了基于多层感知器和卷积神经网络(CNN)的数据驱动架构,用于求解相场模型。这些方法大多施加强物理约束,在神经网络训练过程中加入物理约束,以保证相场模型的数值模拟结果满足相应的物理性质。然而,由于相场模型满足某些独特的物理性质,如质量守恒和能量衰减,因此构建无条件满足方程固定物理性质的数值算法是极具挑战性的。
因此,我们的目标是设计一种神经网络方法来求解保证无条件能量耗散的相场模型。在最近的一项研究中,Du等人[7]提出了Evolutionary Deep Neural Network (EDNN)。这种神经网络方法的显著特点在于它的解只表示一个即时解,而神经网络的输出是一个独立时间步长的解。将神经网络参数视为时间t的函数。在初始时间获取参数后,可以使用常规数值方法更新后续的神经网络参数。在EDNN的基础上,我们引入辅助变量来构建一个无条件满足能量耗散特性的神经网络方法。
2. 预备知识
2.1. 非局部Allen-Cahn方程的性质
从数学的角度来看,相场模型总是由自由能的泛函变化推导出来的。经典的Allen-Cahn方程是Allen和Cahn (1979) [8]提出的,用于模拟结晶固体中反相边界的运动。经典的Allen-Cahn方程
(1)
在L2梯度流的自由能泛函可表达为
.
简单来说把非局部算子
替换掉(1)中的拉普拉斯算子
可以得到非局部Allen-Cahn方程
, (2)
其中
,非局部算子
的定义为
,
核函数K通常满足对称性、正定性、归一性等性质。
非局部自由能泛函表示为
. (3)
根据非局部算子L的定义及核函数K所满足的条件,我们可以推导出
因此,非局部自由能泛函(3)可以等效表示为
. (4)
由[9]可知,非局部Allen-Cahn方程满足能量耗散规律,即非局部Allen-Cahn方程精确解会对应的自由能泛函会随着时间减小。
2.2. Evolutionary Deep Neural Network
初始时,训练EDNN的参数用于表示系统的初始状态,随后无需进一步训练即可动态更新,以准确预测偏微分方程系统的演化过程。边界条件作为硬约束嵌入到神经网络中,确保整个求解轨迹完全符合物理规律。EDNN以x作为输入,网络参数向量
包含了所有神经网络的参数。EDNN的输出表示为
,
其中
表示第i层的权重矩阵,
表示第i层的偏置向量,
表示第i层的激活函数,n表示网络的总层数。EDNN的核心目标是在初始时刻利用给定的初始值对神经网络参数进行训练。基于链式法则,可以推导出以下关系
.
我们的目标就是要推导出
,在EDNN中,我们可以通过以下公式得到
. (5)
完成神经网络训练并获得初始网络参数
后,可以采用常规数值方法(例如欧拉法)来更新后续参数,具体表达如下:
.
,其中
表示[0, T]的分区,
表示时间步长。
EDNN在求解热方程、Burgers方程[7]等方面展现了较强的通用性和准确性。然而,在求解非局部Allen-Cahn方程时,它未能保持能量耗散特性。为了解决这一问题,我们在EDNN中引入了辅助变量,从而构建了一种能够保持能量耗散、精确易于实现的数值格式。
3. 能量耗散型EDNN
最近,[10]基于stabilized exponential scalar auxiliary variable (sESAV)构造了非局部Allen-Cahn方程的一阶无条件能量稳定格式。更准确地说,它进入了辅助变量
,将(2)改写为
, (6)
其中
,
。同时构造了一个修正后的非局部自由能泛函
, (7)
使其在连续意义上等价于初始能量泛函(4)且在[10]中证明了格式(6)满足能量耗散规律。
为确保修正后的能量耗散规律在EDNN中得以保持,我们只需用
替换(5)中的
此时,神经网络的更新规则为
.
从最优性准则推导出的线性系统为
,
最优解
的近似值
是通过求解
得到的。
是神经网络的梯度,
表示在特定空间点处计算的偏微分方程算子。它们定义为
,
其中,索引
对应于配点,而索引
表示神经网络参数。方程
的解可作为
时间导数的近似值。求解方程
的两种方法包括直接求逆和优化。当
被求得后,使用正向欧拉法计算
。
4. 数值实验
本节旨在通过数值实验,测试和比较所提出的能量耗散型EDNN和EDNN,特别关注数值能量稳定性。我们考虑在二维空间域
上,具有高斯核函数和周期边界条件非局部Allen-Cahn方程。我们定义高斯核为
,其中
。
此时,非局部Allen-Cahn方程可以用下面的方程来描述
.
通常,
设为0.01,
。在整个训练阶段,选择
,网格由65 × 65个空间点组成。利用能量耗散型EDNN和EDNN方法计算不同时刻的数值解,如图1所示。为了确定数值误差,
(a) T = 0.25 (b) T = 0.5
(c) T = 0.75 (d) T = 1
(e) T = 0.25 (f) T = 0.5
(g) T = 0.75 (h) T = 1
(i) T = 0.25 (j) T = 0.5
(k) T = 0.75 (l) T = 1
Figure 1. (a)~(d) is the solution obtained by the EDNN; (e)~(h) is the solution obtained by the energy dissipation EDNN; (i)~(l) represents the benchmark solution
图1. (a)~(d) 是通过EDNN获得的解;(e)~(h) 是通过能量耗散型EDNN获得的解;(i)~(l)表示基准解
采用传统的sESAV方法计算的解作为基准,两种方法得到的解的误差比较详见表1和图2。表1汇总了两种方法在均方误差(MSE)指标上的对比结果,可以看出,与基准解相比,能量耗散型EDNN在相同时间步长和空间网格下的均方误差均显著低于EDNN方法的误差,展现了其更高的精确性。图2进一步展示了两种方法的绝对误差,从图中可以清晰地观察到,能量耗散型EDNN的误差更小。结合表1和图2的结果可知,
Table 1. Error comparison for different methods
表1. 不同方法的误差比较
误差 |
T = 0.25 |
T = 0.5 |
T = 0.75 |
T = 1 |
EDNN |
3.88e−02 |
1.75e−01 |
3.73e−01 |
7.06e−02 |
能量耗散型EDNN |
5.04e−05 |
2.68e−04 |
7.72e−04 |
1.64e−03 |
(a) T = 0.25 (b) T = 0.5
(c) T = 0.75 (d) T = 1
(e) T = 0.75 (f) T = 0.75
(g) T = 0.75 (h) T = 0.75
Figure 2. (a)~(d) are the errors between the EDNN and the benchmark; (e)~(h) are the errors between the energy dissipation EDNN and the benchmark
图2. (a)~(d) 表示EDNN与基准之间的误差;(e)~(h) 表示能量耗散型EDNN与基准之间的误差
能量耗散型EDNN在数值精度上优于传统EDNN方法,且在与sESAV基准解的对比中表现出明显的优势。随后,对能量耗散型EDNN和EDNN进行能量计算,并与基准能量值进行比较,如图3所示。结果表明,EDNN计算的数值解不符合能量耗散规律,而能量耗散型EDNN计算的数值解能够准确满足能量耗散规律,这一特点验证了能量耗散型EDNN方法在保持解的物理一致性方面的优越性。
Figure 3. The energy of simulated solutions computed by the EDNN and energy dissipation EDNN methods
图3. 采用EDNN和能量耗散型EDNN方法计算模拟解的能量
5. 结论
在本研究中,我们在EDNN框架中引入辅助变量来解决周期边界条件下的非局部Allen-Cahn方程的能量耗散问题。通过引入合适的辅助变量,使得EDNN的输出满足能量耗散,进一步提高了解的精度。
致 谢
作者在此向所有给予我支持与帮助的人表达由衷的感谢。