时间依赖偏微分方程的区域分解并行算法
【摘要】:
数学物理及工程问题,如油气藏的勘探与开发,大型结构工程设计,空气动力学,反应堆等等,无不归结为求解大型偏微分方程模型问题。这些问题往往计算规模大,计算区域形态不规则,给计算带来很大的困难。与此同时,我们对计算精度的要求越来越高,而单机计算的速度已接近极限。随着大规模科学计算的需要和并行计算环境的发展成熟,区域分解法(DDM)已成为数值求解偏微分方程最有效的方法之一。
简而言之,区域分解方法就是把计算的区域分裂成若干子区域,子域的形状尽可能的规则。从而原问题的求解转化成在子区域上分别解决问题。区域分解算法具有很多其他方法无以比拟的优越性:
1.它把大型的问题转化为若干小型问题,缩小计算的规模;
2.各子区域上的计算是并行的,缩短计算的时间;
3.允许在不同的子域上选用不同的数学模型,以便整体模型更适合于工程物理实际情况。
4.允许使用局部拟一致网格,无需用整体拟一致网格,甚至各子上可以采用不同的离散方法进行计算;
5.子区域的形状尽可能规则,其上或者已有熟知通用的快速算法,或者已有解这类规则问题的高效软件备用。
用区域分解法来求偏微分方程数值解已有大量研究。他们把这种方法应用于求解线性椭圆问题、抛物问题,以及非线性方程组等。同时,区域分解法也是构建预条件子的有效方法之一。区域分解法分为两类:重叠型区域分解法和非重叠型区域分解法。子区域的选择主要考虑区域形状的可计算性以及问题的物理背景。尤其是后者,特别适用于在不同物理子区域上有不同控制方程的复合问题。非重叠型区域分解法实现起来比较直观易用,而重叠型区域分解法的理论分析较为容易些。
重叠型区域分解法的原始思想来源于经典的Schwarz交替法。近年来建立在Schwarz交替法基础上的区域分解法在理论分析和实际应用中取得令人注目的发展,已成为一种有效的迭代方法。椭圆型方程有限元方法已经建立了系统的的理论分析;Lions对热传导方程提出了的一类建立在两个子区域基础上的Schwarz交替算法,给出了收敛性结果,但没有给出误差估计:X.C.Cai构建了一类加性Schwarz算法和乘性Schwarz算法,并证明了算法的收敛性,但作者没有详细讨论收敛率对离散参数的依赖性;H.Rui and D.P.Yang论证了在每一时间层上收敛性及误差估计对子区域长度、空间网格步长、时间步长和迭代次数的依赖性。经典的Schwarz交替法不是并行的,随着并行计算的发展,出现了多种可完全并行化的加性Schwarz算法。M.Dryja,O.B.Wildund,T.M.Shih等皆独立提出不同的算法,这些算法可克服交替方法的串行性,更利于并行处理。J.Xu系统地介绍了求解对称正定问题的各种迭代方法,主要是利用区域分解和子区域校正法从理论上建立了并行子区域校正和串行子区域校正这两类算法。[41]将此方法应用于抛物型方程有限元方法,并得到了收敛阶O(δ~m),其中0<δ<1。
非重叠型区域分解法将计算区域分解成若干个独立的不同子区域,具有高度并行、网格剖分灵活和易于计算等优点。对于此方法,内边界上的预处理算子是必须要考虑的。一般需要附加三种形式的内边界条件:解的连续性条件(DD)、流量的连续性条件(NN)和混合条件(DN)。George,Dryja,Smith等在这方面做了很多工作。但各子问题内边界条件需要通过迭代处理,计算比较复杂。在许多实际计算中,由于对时间步长稳定性的要求,发展方程的计算通常采用隐格式,但隐式格式难以直接在并行机上实施。显式差分格式尽管易于实施,但它的稳定性条件苛刻。当计算问题的规模相当大,例如需要具有数千甚至上万台处理器的大型并行计算机进行计算时,数据的强相关与全局通讯等问题就会成为制约实现高性能计算的突出瓶颈问题。因此,改造现有的隐式格式,研究适用于大型并行计算机上的并行计算方法是目前大型科学工程计算中迫切需要解决的具有挑战性的问题。C.N.Dawson,Q.Du T.F.Dupont等提出了一类显/隐非重叠区域分裂格式,在内边界上采用大步长显格式,各子域内采用隐格式。显隐结合无需迭代计算,得到最优的l~∞模误差估计,但内边界格式的显性仍然引入了一定的稳定性条件(Υ≤H~2)。[51]、[52]提出了一类具有界面修正的并行差分算法,并给出了算法的存在唯一性,无条件稳定性和W_2~(2,1)模误差估计。Y.L.Zhou,L.J.Shen G.W.Yuan对非线性和拟线性抛物组提出了一类具有并行本性的有限差分方法,给出了W_2~(2,1)模意义下解的存在唯一性和无条件稳定收敛性理论。G.W.Yuan X.D.Hang提出了一类具有界面修正的并行差分算法,并研究了算法的无条件稳定性、收敛性和并行性,但没有给出误差估计。
在导师羊丹平教授的精心指导下,本文作者在前人工作的基础上,对区域分解方法做了部分研究工作。首先,结合许进超教授提出的子区域校正法,利用单位分解函数的特性合理地分配在重叠区域上的校正量,对抛物型方程和双曲型方程构造了一类新型的并行加性Schwarz有限差分算法(MPFDs)。从理论上研究了算法的无条件稳定性和收敛性,论证了在每一时间层上的误差的收敛阶对子区域重叠度、空间网格步长、时间步长和迭代次数的依赖性,理论分析和数值算例均表明,算法具有高度的并行性,并且在每一时间层上只需迭代一次或两次即可达到收敛的最优阶;数值算例还表明,实际计算中无需很大的区域重叠度。在此基础之上,我们利用外推法的思想,更精确地预估各子区域并行计算所需的内边界条件,从而得到一类具有界面修正的并行有限差分方法(IPFDs),使得在每一时间层上只需迭代一次即可达到收敛的最优阶。然后,又把这种方法应用于非重叠型的区域分解法。在子区域界面附近避开显格式,而是利用外推法的思想,把前几个时间层的值的线性组合作为实现各子区域中的并行计算所需的内边界条件,同时使得差分格式在内界面附近的截断误差与子区域内部的截断误差保持一致。对抛物方程和波动方程提出一类内边界预估校正的非重叠型区域分解并行有限差分算法(NIPFDs)和并有限元算法(NIPFEs),理论分析和数值实验证实了算法的并行性、收敛性、无条件稳定性。文中引入了新的内积和范数定义,给出了算法的l~2模最优误差估计,为实际应用提供了理论基础,并对每种方法给出了数值验证。全文共分四章。
第一章,对热传导方程提出一类修正的并行加性Schwarz有限差分方法,或称为修正的并行子空间校正有限差分算法(MPFDs)。算法基于区域分解和子区域校正,通过引入单位分解函数,合理地分配重叠部分的校正量。算法在每个子区域上分别进行残量修正,各子域之间的计算可以并行。理论分析表明,在每一时间步,只需校正一次或两次,即可达到最优的收敛阶。数值试验验证了算法的有效性和优越性。§1.1给出热传导方程模型问题及其最常用的向后Euler和中心差分两种隐式有限差分格式;§1.2.1建立重叠型区域分解的基本框架,并给出经典的并行加性Schwarz算法(CPFDs),§1.2.2引入单位分解函数,构造出相应修正的并行加性Schwarz有限差分算法;§1.3和§1.4分别讨论了两种修正并行算法收敛性分析,引入新的内积和范数,给出算法的l~2模误差估计;§1.5给出数值算例,对(MPFDs)和(CPFDs)两类算法做了对比,分析了收敛率对离散参数,迭代次数及重叠长度的依赖性。本章结果已经在《山东大学学报》(理学版),《Applied Mathematics and Computation》,《高校计算数学学报》等刊物上发表或接受。
第二章,在上一章的基础上对抛物方程提出一类具有界面修正的并行有限差分方法(IPFDs)。算法利用外推法的思想,在每一时间层上更精确地预估内边界的初始值,从而使得并行算法在每一时间层上只需迭代一次即可达到收敛的最优阶。§2.1.1对热传导方程的两类常用差分格式进行改造,提出具有界面修正的有限差分并行算法,§2.1.2给出了两种算法的L~2模误差估计,得到最优的收敛阶误差结果。§2.1.3通过数值算例验证了算法的稳定性,分析了收敛率对离散参数和重叠长度的依赖性。§2.2将这种方法推广到一般的二维抛物方程。§2.2.1给出问题的模型和一些基本记号,§2.2.2提出了具有界面修正的二维区域分解并行差分算法,在两个方向上同时进行区域分解和子区域校正,使得算法更具有一般意义。§2.2.3通过数值算例分析了收敛率对离散参数的依赖性,验证了算法的收敛性,稳定性和高效性。本章主要结果已投稿刊物。
第三章,对抛物方程提出一类建立在内边界预估校正基础上的非重叠型区域分解有限差分方法(NIPFDs)和有限元方法(NIPFEs)。我们在内边界面上避开显格式,而是利用前几个时间层的值的线性组合作为实现各子区域中的并行计算所需的内边界条件,同时使得差分格式在内边界面附近的截断误差与子区域内部的截断误差保持一致,并将稳定性条件减弱为Υ=O(h~2)。§3.1研究了抛物方程建立在内边界预估校正基础上的非重叠型区域分解有限差分方法(NIPFDs)。§3.1.1给出抛物方程模型问题及其两类常用的有限差分隐格式。§3.1.2对这两种格式进行改造,提出具有内边界预估校正的非重叠型区域分解有限差分方法。§3.1.3给出了这两种算法的收敛性分析,得到最优的l~2模误差估计。§3.2研究了抛物方程建立在内边界预估校正基础上的非重叠型区域分解有限元方法(NIPFEs)。§3.2.1给出抛物方程模型问题及其两类常用的时间离散的有限元格式。§3.2.2对这两种格式进行改造,提出具有内边界预估校正的非重叠型区域分解有限元方法。§3.2.3给出了这两种算法的收敛性分析,得到最优的L~2模误差估计。§3.3通过数值算例验证了算法的收敛性,稳定性和有效性,分析了收敛率对离散参数的依赖性。本章主要结果已投稿刊物。
第四章,研究了双曲型波动方程的区域分解有限差分方法和有限元方法。波动方程是一种重要的双曲型偏微分方程,它在物理、化学、生物等不同领域都有非常重要的意义。已有大量文献研究双曲问题的有限差分方法和有限元方法。对于一阶双曲型方程,适于并行计算的差分方法已经很多,但对于二阶双曲型方程,这方面的文献尚不多。本章我们将前面提出的几类区域分解方法应用于波动方程,得到波动方程的几类区域分解并行算法。§4.1给出模型问题和一些基本知识。§4.2研究了波动方程修正的并行加性Schwarz有限差分方法,给出了算法描述,误差分析和数值算例。在此基础之上,§4.3研究了波动方程具有界面修正的并行有限差分方法,使得算法在每一时间层上只需迭代一次即可,收敛性分析和数值算例均证实了此点。§4.4研究了波动方程建立在内边界预估校正基础上的非重叠型区域分解有限差分方法和有限元方法。给出了算法描述和二维数值算例。本章部分结果已经在《山东大学学报》(理学版)上发表。
论文中提到的参数C,无论有无下标,都代表一般的正数。它的值因地而异,但都与空间网格步长h和时间步长Υ无关,这将在以后提到。