1. 引言
众所周知,许多复杂有趣的现象是由于对流扩散方程中的对流项和扩散项的不同引起的。因此,它的数值解的研究在许多科学和工程领域中都具有重要的意义,呈现于 [1] [2] [3] 。因为扩散项和对流项的特点,很难找到一个精确有效的数值方法。因此,求解对流扩散问题的有效数值解方法是计算数学中的一个重要研究课题。已有的数值方法有限差分方法 [4] ,有限体积方法 [5] 和有限元方法 [6] 。然而,对于对流占优的问题,通常的有限差分法和有限元法解对流占优的问题可能会产生数值震荡。本文提出的新方法能够很好地消除震荡。
本文将考虑变系数对流扩散方程:
(1)
这地方是一个在上的有界区域,是在上的时间范围,表示浓度,表示速度场,是扩散系数,是有界的连续函数。本文将使用周期性边界条件处理对流扩散方程。
Jürgen Geiser研究了常系数对流扩散方程,使用改进的加权迭代格式,得到了很好的结果,呈现于 [7] [8] 。本文研究的高阶迭代格式也是改进的经典迭代格式基于Zassenhaus 乘积公式。主要的思想是应用Zassenhaus 乘积公式不断改进迭代格式的初始条件,从而提高经典迭代格式的精度和节省CPU时间。经典迭代格式的基本思想是把复杂的物理问题分解成简单的物理问题,从而能够简化运算和并行计算,看 [9] [10] 。Zassenhaus乘积公式是李代数中的一个基本的重要的公式。
本文将应用加权方法求解变系数的二维对流扩散方程。空间离散应用傅立叶谱方法,时间离散使用加权迭代格式和高阶龙格库塔技术。更具体地,我们使用维数分裂的思想把高维问题分成几个简单的低维问题,使求解变得简单,本文的维数分裂格式是沿着方向的算子和沿方向的算子。然后使用高阶迭代格式和高阶龙格库塔方法去解低维问题,可以减少分裂误差和促进解的过程。另外,提出的新方法要比经典的迭代方法省CPU时间和收敛精度高。
本文的框架如下:第二部分,介绍迭代算子分裂方法。第三部分,介绍傅立叶拟谱方法和维数分裂格式。第四部分,讨论高阶迭代格式联合经典的迭代格式和Zassenhaus乘积公式。第五部分,几个数值实例验证高阶格式的高效性和收敛率。第六部分,结论。
2. 经典的迭代算子分裂方法
我们知道经典的迭代格式广泛用于解决现实生活中的问题。本文考虑下列的非均匀的柯西问题
其中是初始条件,线性算子是在巴拿赫空间上的有界线性算子,是连续函数。
算法2.1给出了经典的迭代格式,本文考虑使用交替迭代格式去求解上面的非均匀的柯西问题:
(2)
这里初始迭代,其中是初始条件,。这个迭代格式的数值解定义为。在下面的章节中,将推导出高阶迭代格式基于交替迭代格式和Zassenhaus乘积公式。
3. 傅立叶谱离散和维数分裂格式
我们应用傅立叶谱方法 [11] 去解方程(3)和(4)。更具体地,给定一个正整数,使
是在区间上的等距网格,这些点称为傅立叶谱点。给定一套节点基函数,然后做这套基函数的线性组合,组合系数是节点函数值,有
这地方基函数和,是克罗内克函数。对函数求阶导,导函数可以应用谱离散点的线性组合近似逼近,有
我们可以把上述公式写成矩阵向量乘积的形式
这里
一阶傅立叶微分矩阵可以写成形式
二阶傅立叶微分矩阵可以写成形式
特别地,定义。这样就推导了一维方程的一阶微分矩阵和二阶微分矩阵。下面讨论二维方程的微分矩阵形式。
对于本文要求解的二维对流扩散方程,首先应用维数分裂处理这个方程,能够得到下列的形式
这地方
然后使用傅立叶拟谱方法离散空间算子,前面介绍了一维微分矩阵和,对于二维空间算子,使用克罗内克张量积通过一阶微分矩阵和二阶微分矩阵能够得到二维微分矩阵,把偏微分方程转化为常微分方程组,方程形式
(3)
这里
表示克罗内克张量积符号,表示单位矩阵。
在下面的章节中,我们将推导高阶迭代格式和讨论常微分方程组(3)的数值解,理论能够证明本文提出的加权迭代格式可以增强收敛精度和节省CPU时间。
4. 高阶迭代格式用于时间离散
本节将讨论高阶迭代格式基于算法2.1和Zassenhaus乘积公式,构造的高阶方法可以提高收敛率和减少数值误差,以及减少迭代步数,从而节省时间。首先给出算法2.1的分析解
(4)
我们假设,因此对于,有
(5)
这时,得到第二步
(6)
这地方是时间步长,是指数函数。下面推导加权迭代格式。
我们将应用Zassenhaus乘积公式 [12] ,这个公式具体形式
这里,将公式进行泰勒公式展开,能够推导出下列的权的误差阶 [10]
这地方是Zassenhaus指数。能够推导出Zassenhaus指数为
这里[]是李代数括号,我们定义:。因此权公式可以表示为
这样就推导出来了权公式。因此对于初始迭代(5)做如下改进
因此迭代格式的误差精度提高到 (参见 [13] ),这样每增加一步权,原来经典迭代格式的误差提高一阶。
一步加权和两步加权迭代格式为
因此加权迭代的误差率能够提高到和。
这个和应用Pade'方法近似,积分项使用四阶龙格库塔方法离散,这样能够获得高阶结果。加权迭代格式将通过一些数值实例进行验证。
5. 数值实验
本章节将验证提出的新格式的收敛阶和CPU时间,以及误差图。
首先给出方程(1)一个真解
设置终止时间,初始条件。数值误差使用范数形式,定义范数
我们将选取不同的对流系数和不同的扩散系数来验证高阶格式的误差阶。
5.1. 数值实例1
在这个数值例子中,考虑一般的对流扩散方程,扩散系数选取,表中将给出不同对流系数的情况。
表1中呈现的是加权迭代算法的误差,对流系数选取,选取空间谱点,时间步长选取不同的适合的步长。
表2将给出该算法误差,空间点选取,对流系数选取,挑选和表1中一样的时间步长。
表3说明的是加权迭代算法的误差阶,对流系数选择,空间点仍然选择,时间步长和表2同步。
表4呈现的权迭代算法的CPU时间比较,选择不同的空间点,时间步长,对流系数,比较没有加权,一步加权和两步加权的时间。
图1呈现的是2步加权的误差图,对流系数选择表1中系数,时间步长,空间点。
图2呈现的也是2步加权的误差图,对流系数选择表2中系数,时间步长、空间点和图1中同步。
从表中能够看出,不同的对流系数对权格式的精度是有影响的,对流系数选择的不好可能会导致2步加权的误差增大,从时间的比较中也能看出,加权方法耗费的时间并不是很多相比于没有加权,但误差减小了很多,说明加权方法是一种花费时间少,且精度高的方法。从图中能够看出不同的对流系数呈现的误差图也不一样,选择对流系数函数值无零点的对流系数,误差图的跳跃性就不会很大,明显看出图1比图2好。
5.2. 数值实例2
在这个例子中,将考虑对流占优的情形,选取扩散系数,表中同样给出不同的对流系数来验证加权方法的误差阶情况。
表5呈现的是加权迭代的误差比较,对流系数选取表1中的对流系数,空间点选择,时间步长同样选择表1中的步长。
表6表明的是加权格式的误差阶比较,对流系数选择表2中的对流系数,空间谱离散点选择,时间步长和上表同步。
表7呈现的是高阶迭代方法的误差比较,对流系数选择表3中的系数,空间点和时间步长和表6同步。
图3呈现的是2步加权的误差图,对流系数、时间步长和空间点和图1同步。
图4表明的是2步加权的误差图,对流系数、时间步长和空间点和图2同步。
从表中可以看出,对于对角占优的对流扩散问题,加权迭代方法计算的比较好,同样体现了随着扩散系数的减小,误差会增大。同样也验证了加权方法的精度高,节省时间。从误差图中可以看出,图4的跳跃性相比图2更大,说明强对角占优凸显了双曲方程的特征,跳动性比较大,这样会影响高阶格式收敛性和稳定性。但不会影响加权方法的精度。
表1. 加权迭代数值误差比较。
表2. 加权格式误差比较。
表3. 加权迭代数值误差比较。
表4. 加权迭代的CPU时间比较。
表5. 加权迭代误差比较。
表6. 加权格式误差比较。
表7. 加权迭代数值误差比较。
6. 结论
本文呈现了一种高阶迭代格式对于求解变系数2D对流扩散方程。提出的新方法结合了经典迭代格式和Zassenhaus乘积公式。傅立叶谱离散技术和维数分裂方法用于空间算子。数值算例呈现了新方法的高精度和高效性。
基金项目
国家自然科学基金资助项目(11271313)。