论文部分内容阅读
对偏微分方程离散化后所形成的代数方程组进行数值计算时,通常要使用迭代方法,如Jacobi迭代,Gauss-Seidel迭代,SOR迭代等。在使用这些古典迭代方法求解时,一般刚开始几次迭代收敛很快,然后变得越来越慢,最后迭代近乎停滞。多重网格方法利用粗网格对高频误差分量进行磨光,将数值计算速度在原有古典迭代方法的基础提升了 1-2个数量级,适用于超大型工程数值计算。关于多重网格方法理论和应用方面的研究已有很多,但多重网格插值算子方面的研究很少,现有研究几乎都是采用双线性(对二维问题)或三线性(对三维问题)插值算子(Linear Interpolation,简称LI算子)。本文针对高维椭圆型偏微分方程,提出一种基于差分方程的多重网格插值算子(Equation Interperation,简称EI算子),该插值算子具有四阶精度,与传统的二阶线性插值算子相比,进一步提升了数值求解过程中多重网格方法的收敛速度。数值实验及理论分析验证了方法的有效性和高效性。全文共分六章,主要工作如下:第一章绪论部分介绍多重网格方法研究进展,以及本文研究的主要内容。第二章针对二维泊松方程、对流扩散方程、一般线性椭圆型方程,构造了多重网格方程型四阶精度插值算子。数值实验分别采用规则等距网格的多重网格V(1,1)循环和V(2,2)循环,松弛方法采用传统自然顺序点Gauss-Seidel迭代和红黑点Gauss-Seidel迭代,差分方程采用二阶中心差分格式,多重网格前光滑过程中采用完全加权限制算子。数值实验比较了二维问题常用的多重网格双线性插值算子,以及方程型四阶精度插值算子的运算结果。多重网格后光滑过程中,相比LI算子,EI算子虽然使用节点更多,但由于插值算子精度达到四阶,插值过程带来的误差更小,插值精度更高,在保持方程数值解精度不变的情况下可以进一步加速收敛,数值结果体现为使用EI算子比使用LI算子多重网格V循环次数更少、需要CPU时间更短。同时,正因为EI算子所用节点多,多重网格V循环中,V(2,2)型循环在每层网格处比V(1,1)型循环多进行一次松弛迭代,比之LI算子,来自粗网格的误差修正值能够更快速且更均匀的扩散到整个细网格层,收敛速度更快。针对二维问题的五点格式,红黑Gauss-Seidel迭代能够使松弛迭代过程完全解耦,比之自然顺序的点Gauss-Seidel迭代效率更高;针对二维问题的多重网格求解,LI算子公式固定不变,而不同方程对应的EI算子不同。在构造二维偏微分方程的EI算子时,可将本章推导的各阶偏导数离散格式代入待求解的微分方程,整理后即可得到,比之使用LI算子只多了一个代入整理的过程,一定程度上解决了EI算子通用性弱的问题。第三章针对三维泊松方程、对流扩散方程、一般线性椭圆型方程,构造了多重网格方程型四阶精度插值算子。松弛方法采用传统自然顺序点Gauss-Seidel迭代、红黑点Gauss-Seidel迭代、四色点Gauss-Seidel迭代和线Gauss-Seidel迭代四种方法。数值结果证明:在三维问题中,相比三线性插值算子,本文提出的方程型四阶精度插值算子公式尽管所用节点更多,但插值算子为四阶精度,在保持方程数值解精度不变的情况下可以有效加速收敛。因三维问题本身计算量更大,使用EI算子能够节省更多的CPU时间。四种迭代方法中,线Gauss-Seidel迭代方法多重网格V循环次数最少、工作量及所需CPU时间最少,其次是点Gauss-Seidel迭代。将本章推导的三维问题的各阶偏导数离散格式代入待求解的三维偏微分方程,整理后即可得到该方程的多重网格EI算子公式。第四章针对三维一般线性椭圆型方程,运用多重网格方法、Richardson外推技术和算子插值格式将第三章中心差分格式的计算结果提高到四阶精度,其中最细网格层初值利用较细网格层结果插值预估得到。数值实验比较了三维常系数和变系数一般线性椭圆方程的运算结果,数值运算结果证明经过外推后,数值解精度由原来的二阶精度提高到近四阶精度,而外推过程所消耗的CPU时间占总时间的5%~25%左右,存储空间并没有因为外推过程而有所增加;将计算出的较细网格层数值经过EI算子插值到最细网格层上作为该层的迭代初始值,能够减少最细网格层多重网格V循环次数和外推迭代次数,节约CPU时间,这一现象在网格数较大时尤为明显。第五章对论文提出的方程型四阶精度插值算子进行理论分析,主要从收敛性、插值算子精度、工作量和存储空间四方面展开。以一维泊松方程为例进行收敛性分析,EI算子在插值过程中保持了高精度,减小了插值过程带来的误差,从而令整个数值求解过程收敛速度有所提升。公式推导过程和数值实验结果证明,线性插值算子为二阶精度,本文提出的方程型插值算子能够达到四阶精度,且插值算子精度的提高并不会对数值解精度产生影响,而只会提升多重网格收敛速度。方程型四阶精度插值算子以增加插值过程的计算量为代价,明显减少了多重网格V循环次数。经过综合分析,与线性插值算子工作量相比,将方程型四阶精度插值算子应用于多重网格插值过程能够使整体数值求解过程工作量减少25%~50%,且在存储成本上并未有所增加。第六章为研究结论、主要创新点和展望。