论文部分内容阅读
在计算电磁学、流体力学、热核反应等众多工程领域的研究中,都面临着对一些复杂微分方程、积分方程模型的数值计算和模拟。数值求解这些模型一般都包括前期离散处理和后期迭代求解两个过程。对于前期离散,有限差分法、有限元法、有限体积法、谱方法等已经成为传统的、最常用的工具,这些方法在计算和模拟许多实用模型时都取得了显著的效果。然而,随着科学技术的高度发展,对模型求解的精度、计算速度、所需内存等的要求越来越高,这使得在各种模型和边界条件下改进、发展上述各种数值方法依然是科学计算研究的重要课题。对于前期离散所得的代数方程组,特别是大型稀疏线性方程组,经典的方法之一就是Krylov子空间迭代法,此类方法以其稳定、节省计算内存而一直受到数值代数工作者的青睐。但是,众所周知的是,对于大型线性方程组,使用Krylov子空间方法进行迭代求解时,要求该线性系统的系数矩阵具有良好的特征值或者奇异值分布。因此,在耗费相对较少的计算时间和内存的条件下,如何有效地调节系数矩阵的特征值、奇异值,即对矩阵进行预处理,就成了计算中非常重要的一环。综合前期离散、后期迭代求解来看,构造高效、实用的数值离散方法,提出优良的预处理子,以及设置快速、稳定的子空间迭代方法就成了解决问题的重要要素。本文研究几类微分、积分方程求解的数值方法和预处理技术,主要内容如下: 1.通过对奇异积分算子进行分裂,基于分片Lagrange基函数,对Airfoil积分方程提出了一种配置方法,从理论上分析了该方法的精度。对于离散所得的线性方程组,利用奇异算子的近似逆算子,构造了系数矩阵的一个块三对角逆预处理子。实验显示此预处理子在该Airfoil积分方程的非奇异项受到微小扰动时,仍然具有很好的效果。 2.基于二次样条基函数,对带有Sommerfeld边界条件的Helmholtz方程提出了配置法,实验显示,此方法所导致的误差函数及其1、2阶导函数在配置点处都很接近于0。然后,通过对网格点顺序的调节,将所得线性系统等价地化为3×3的块状矩阵,其对角线元素都为块三对角矩阵,再利用阶梯型矩阵,提出了一种块状多项式近似逆预处理子。此预处理子在计算机内存和耗时方面都是比较少的,实验显示,相比于普通的ILU预处理子,当网格增加时,此预处理子所导致的迭代次数的增加量相对较小。 3.基于二次样条基函数,对含时间分数阶的子扩散方程构造了配置法,分析了该方法的精度以及所得系数矩阵的特点。相比于传统的差分法,该方法摆脱了分数阶β对精度的影响,达到了O(h4+τ4)的局部误差和O(h3+τ3)的全局误差。对于离散所得线性系统,基于算子分裂的思想,提出了一种预处理子,实验显示,该预处理子在分数阶β比较小时,是十分有效的。 4.对于用有限元方法离散Navier-Stokes方程后所得的广义鞍点问题,利用Sherman-Morrison-Woodbury公式提出了一种分裂预处理子,理论分析和实验显示,此预处理子对于广义鞍点问题和鞍点问题均具有良好的效果。 5.对于数值求解优化问题、非线性偏微分方程和特征值问题时所遇到的shifted线性系统(A+αI)x=b(这里α是一列变化的实数),在种子矩阵A的ILU分解A=LDU的基础上,通过改变L,U的非零元素,提出了shifted线性系统的一种ILU预处理子更新策略。这种更新策略使所得新的预处理子保持了原ILU分解的稀疏性,理论分析证明了该预处理子在α→0,∞时,将使得预处理后的矩阵特征值趋于1,从而为迭代求解提供了良好的收敛性保障。大量的实验验证了该预处理子的有效性。