基于算子分裂思想,本文提出了求解Allen-Cahn方程的两种高效算子分裂格式。首先将此方程分裂为线性项与非线性项两个部分:对线性部分,通过二阶中心差分法与四阶紧致差分法分别进行数值计算,并利用傅里叶方法给出了稳定性的分析;对非线性部分进行精确求解。最后,通过数值算例比较两种算子分裂格式的数值解差异以及运行效率,而且验证了两种格式满足能量递减规律。 Based on the idea of operator splitting, this paper proposes two efficient operator splitting schemes for the Allen-Cahn equation. The original equation is divided into linear and nonlinear parts. The linear part is approximated numerically by two different schemes: the second-order center difference scheme and the fourth-order compact difference scheme. The stability analysis of both schemes is discussed according to a Fourier stability analysis. The nonlinear part is solved accurately. Numerical comparisons are carried out to verify the accuracy and efficiency of the proposed methods, and to verify the given schemes satisfied the law of decreasing energy.
郑楠,翟术英,翁智峰
华侨大学数学科学学院,福建 泉州
收稿日期:2017年5月6日;录用日期:2017年5月21日;发布日期:2017年5月27日
基于算子分裂思想,本文提出了求解Allen-Cahn方程的两种高效算子分裂格式。首先将此方程分裂为线性项与非线性项两个部分:对线性部分,通过二阶中心差分法与四阶紧致差分法分别进行数值计算,并利用傅里叶方法给出了稳定性的分析;对非线性部分进行精确求解。最后,通过数值算例比较两种算子分裂格式的数值解差异以及运行效率,而且验证了两种格式满足能量递减规律。
关键词 :算子分裂算法,热传导方程,帕德逼近,四阶紧致差分格式,能量递减
Copyright © 2017 by authors and beplay安卓登录
This work is licensed under the Creative Commons Attribution International License (CC BY).
http://creativecommons.org/licenses/by/4.0/
Allen-Cahn方程是一类非齐次半线性泊松方程。1979年,为了描述晶体中反相位边界运动,Allen和Cahn [
设基本能泛函为E(u),是由u离开物相的惩罚项F(u)和扩散项∇u决定,可表示为:
其中
图1.
通过对式(1)进行变分、Taylor展开从而可得到如下Allen-Cahn方程:
Allen-Cahn方程广泛运用于处理各种问题,例如图像分析 [
经典的算子分裂格式有Marchuk-Strang分裂格式、Trotter-Lie分裂格式 [
该算子分裂算法的主要优点是算子
运用算子分裂方法 [
1) 计算前半步算子
2) 计算完整一步算子
3) 计算后半步算子
在Allen-Cahn方程
热传导方程
和非线性方程
因此,Allen-Cahn方程的求解可通过3个子步实现 [
或者
其中热传导方程
取空间节点数为N,空间步长为
令:
则方程(4)有如下CN格式:
容易验证上式精度为
为进一步验证格式的有效性,将对其做收敛性分析。
定理1. 差分方程按谱范数稳定的充分必要条件是对于任意均成立
证明:
令
利用Fourier方法,令
由此得到增长因子:
从而
由于
上文2.2节所用格式得到的精度为
结合(12)及CN格式,可得求解
容易验证上式精度为
为进一步验证格式的有效性,将对其做收敛性分析。
定理1. 差分方程按谱范数稳定的充分必要条件是对于任意均成立
证明:
令
利用Fourier方法,令
由此得到增长因子:
从而
由于
在本节,将通过数值算例来验证算子分裂格式的收敛阶和稳定性。为方便分析,对如下符号进行解释:
CI-ABA:
CI-ABA:
其中
CII-ABA:
CII-ABA:
其中
为验证收敛阶,本文选取文献 [
其中
现欲验证所用算法格式ABA与BAB的高效性和准确性。
假设
当
由上得到收敛阶的表达式,以下记为Rate。
在2.2节二阶中心差分格式求解热传导方程的基础上,我们将网格以N = 100,200,400,800,1600;M对应取M = 20,40,80,160,320进行剖分,满足
在迭代格式CI-ABA和CI-BAB中,通过算子分裂算法分别进行计算得到表1、表2。
格式 I | N = 100, M = 20 | N = 200, M = 40 | N = 400, M = 80 | N = 800, M = 160 | N = 1600, M = 320 |
---|---|---|---|---|---|
|
1.0106e−02 | 2.5469e−03 | 6.3967e−04 | 1.5999e−04 | 4.0003e−05 |
|
2.5724e−03 | 6.4747e−04 | 1.6215e−04 | 4.0554e−05 | 1.0140e−05 |
Rate | - | 2.014 | 1.9665 | 1.9993 | 1.9998 |
CPU | 2.2932 | 2.6052 | 5.1168 | 23.7122 | 145.1277 |
表1. 格式CI-ABA的计算结果
格式 I | N = 100, M = 20 | N = 200, M = 40 | N = 400, M = 80 | N = 800, M = 160 | N = 1600, M = 320 |
---|---|---|---|---|---|
|
1.4514e−02 | 3.6814e−03 | 9.2341e−04 | 2.3110e−04 | 5.7784e−05 |
|
3.5482e−03 | 8.9491e−04 | 2.2423e−04 | 5.6088e−05 | 1.4024e−05 |
Rate | - | 1.9705 | 2.002 | 1.9985 | 1.9998 |
CPU | 4.6488 | 4.9296 | 6.3804 | 13.5720 | 87.1578 |
表2. 格式CI-BAB的计算结果
对比表1和表2,在用二阶中心差分格式求解Allen-Cahn中,随着网格剖分变细,最大误差值
同理,在2.4节四阶紧致差分格式求解热传导方程的基础上,我们将网格以N = 20,40,80,160,320;M对应取M = 100,400,1600,6400,25600进行剖分。满足
在迭代格式CII-ABA和CII-BAB中,分别计算得到表3、表4。
通过对比表3和表4,在四阶紧致差分格式下求解Allen-Cahn方程,随着网格剖分变细,最大误差值
综上,结合实际情况,在求解热传导方程时,由于迭代过程中产生的误差不断累积,如果采用格式CII-BAB进行计算,误差能够被大大减小。
在下面的数值实验中,我们定义能量函数E(u):
初值
在2.2节的二阶中心差分格式情况下,取
对此,我们将网格取N = 40,M = 750进行剖分,此时
格式II | N = 20, M = 100 | N = 40, M = 400 | N = 80, M = 1600 | N = 160, M = 6400 | N = 320, M = 25600 |
---|---|---|---|---|---|
|
4.4632e−02 | 2.7318e−03 | 1.8605e−04 | 1.1590e−05 | 7.3054e−07 |
|
1.0947e−02 | 6.2072e−04 | 3.8951e−05 | 2.4378e−06 | 1.5242e−07 |
Rate | - | 4.0460 | 3.8592 | 4.0047 | 3.9878 |
CPU | 2.1528 | 4.4928 | 6.7704 | 22.7605 | 200.2429 |
表3. 格式CII-ABA的计算结果
格式II | N = 20, M = 100 | N = 40, M = 400 | N = 80, M = 1600 | N = 160, M = 6400 | N = 320, M = 25600 |
---|---|---|---|---|---|
|
4.4465e−02 | 2.7189e−03 | 1.8537e−04 | 1.1547e−05 | 7.2762e−07 |
|
1.0907e−02 | 6.1822e−04 | 3.8795e−05 | 2.4281e−06 | 1.5181e−07 |
Rate | - | 4.0428 | 3.8645 | 4.0048 | 3.9882 |
CPU | 3.8220 | 4.0248 | 6.4116 | 17.8465 | 120.6512 |
表4. 格式CII-BAB的计算结果
图2. ξ = 0.1.二阶中心差分格式能量随时间变化
图3. ξ = 0.1.二阶中心差分格式数值解图像
图4. ξ = 0.075.二阶中心差分格式能量随时间变化
图5. ξ = 0.075.二阶中心差分格式数值解图像
图6. ξ = 0.125.二阶中心差分格式能量随时间变化
图7. ξ = 0.125.二阶中心差分格式数值解图像
图8. ξ = 0.1.四阶紧致差分格式能量随时间变化
图9. ξ = 0.1.四阶紧致差分格式数值解图像
图10. ξ = 0.075.四阶紧致差分格式能量随时间变化
图11. ξ = 0. 075.四阶紧致差分格式数值解图像
图12. ξ = 0.125.四阶紧致差分格式能量随时间变化
图13. ξ = 0.125.四阶紧致差分格式数值解图像
首先,观察
在2.3节的四阶紧致差分格式情况下,我们将网格取N=20,M=750进行剖分,此时
同理,可得到类似结论。
综上,不论二阶中心差分格式或者四阶紧致差分格式,
本文利用算子分裂算法将Allen-Cahn方程分解为两个子问题,然后用二阶中心差分格式和四阶紧致差分格式求数值解,并利用傅里叶方法给出了稳定性的分析。最后,通过数值算例比较两种格式的误差和CPU时间及验证其数值解满足能量递减规律。在本文中对算子分裂算法列出了详细的计算步骤,通过第一个算例对两种算子分裂格式的优缺点进行了细致的比较,对比分析之后,我们发现采用格式CII-BAB的误差最小,且能有效减少计算时间。通过第二个算例,说明不论采用哪种格式进行迭代计算,得到的能量函数都满足递减的规律,其数值解也呈现对应的变化。本文对Allen-Cahn方程的求解方法,也能为我们今后解决同类问题提供了简单的途径和有力的支持。
国家自然科学基金(11526094)和福建省青年基金(2016J05007)资助项目。
郑楠,翟术英,翁智峰. 求解Allen-Cahn方程的两种高效数值格式Two Efficient Numerical Schemes for the Allen-Cahn Equation[J]. 应用数学进展, 2017, 06(03): 283-295. http://dx.doi.org/10.12677/AAM.2017.63034
https://doi.org/10.1007/BF00276132
https://doi.org/10.1109/TIP.2008.919367
https://doi.org/10.1007/s00211-002-0413-1
https://doi.org/10.1103/PhysRevA.45.7424
https://doi.org/10.1007/s10915-010-9381-2
https://doi.org/10.1007/s00233-006-0640-3
https://doi.org/10.1007/BF00281235
https://doi.org/10.1137/0705041
https://doi.org/10.1080/10407790.2016.1215714
https://doi.org/10.1137/130928662