论文部分内容阅读
在偏微分方程的数学理论里,我们很少能够给出偏微分方程的解析解;在应用科学里,我们需要数值求解偏微分方程.许多包含低阶的非线性项与高阶的线性项,与时间相关的半线性抛物型方程(抛物型是指线性部分光滑,半线性意味着非线性项的导数阶低于线性项的导数阶),如Burgers方程,Allen-Cahn方程,Cahn-Hilliard方程,Fisher-KPP方程,Fitzhugh-Naguno方程,Gray-Scott方程,Hodgkin-Huxley方程,Korteweg-de Vries方程,Kuramoto-Sivashinsky方程,Navier-Stokes方程,非线性Schrodinger方程等.为了能够得到这些方程的精确的数值解,我们需要在空间,时间方向用高阶的数值逼近方法,然而许多数值计算在空间上采用有限差分,有限元等低阶方法离散,由于非线性与刚性带来的困难,在时间上只有二阶精度。
本文采用谱方法与高阶时间离散方法,研究实际问题的偏微分方程模型,包括Burgers方程,Korteweg-de Vries方程,Kuramoto-Sivashinsky方程,Allen-Cahn方程,Cahn-Hilliard方程,以及非线性Schrodinger方程,对于椭圆型偏微分方程,如Helmholtz方程,双调和方程等,当方程在几何规则区域上有光滑解时,相比有限差分方法,有限元方法的低阶精度,采用谱方法离散,仅用少量的节点与适合的正交多项式,如Chebyshev多项式,Legendre多项式组合作基函数展开,得到带状代数方程组,求解后谱方法能达到指数阶收敛的谱精度[83,84,66].对于无界区域上的问题,有限差分,有限元常截断为有限区域,采用人工边界条件,然而谱方法不用将无界区间截断为有限区间,可以直接采用Laguerre函数作基函数解半无穷区间上的问题[87],采用Hermite函数作基函数解无穷区间上的问题[94].对于周期问题,采用Fourier谱方法,无论一维,高维,都容易求解,谱方法的不足在于对方程解的光滑性要求高,大多数应用于理想的数值例子中,在具体实际问题里,不能普遍应用。
尽管国内外有许多谱方法的优秀著作,但谱方法并没有像有限差分普及,国内没得到广泛的关注.经典谱方法分成三类:谱Galerkin方法,谱配点法和谱tau方法.因为编程简单,容易实现,能解变系数,非线性的偏微分方程,谱配点法在国内得到最多的应用,而谱配点法所用的谱微分矩阵是满的,不能利用代数线性方程组的快速解法.谱Galerkin方法如有限元方法一样采用变分形式,国内研究主要是集中于理论误差分析,很少用于具体的应用计算.其原因在于谱Galerkin方法要将物理空间的值变换到谱空间,在谱空间计算后,再变换回到物理空间,在编程实现上不如谱配点法容易.Trefethen通过40个简洁的MATLAB代码,编程实现Chebyshev配点法,受到普遍的欢迎,本文在第二章采用Trefethen著作的格式,对周期问题的Fourier谱方法,解Robin边值问题的Chebyshev配点法,解二阶,四阶椭圆型方程的Legendre-Galerkin谱方法编程实现,我们采用理论-算法-代码-算例的形式,编程模块化,看过后就能理解算法,读懂代码.特别是Legendre-Galerkin谱方法的代码.可以作为学习谱Galerkin方法编程的模板.更多的基本MATLAB代码,可以参考沈捷等人的专著。
对于半线性抛物型偏微分方程的数值求解,我们常采用Method of Lines(MoL)方法,首先离散空间变量,得到在时间上耦合的常微分方程组(ODEs),然后采用合适的时间离散格式求解,常用的ODEs高阶时间离散方法大致分成两类:第一类由本性高阶离散格式组成,如Runge-Kutta(RK)方法,线性多步法等;第二类是通过Richardson外插或者延迟校正(Deferred Correction)来加速低阶格式的收敛.对于非刚性问题,存在极有效的方法.对于刚性问题,隐式Runge-Kutta方法有良好的稳定性,但高阶精度需要很大的代价;隐式多步法有高阶的收敛,但稳定性相对弱.因此,有人采用Runge-Kutta方法达到五阶,如要求更高阶精度,再采用外插法加速.然而,外插需要计算在更细网格上的一系列数值解,尽管有效但运算量很大.目前,对于含有高阶空间变量导数的偏微分方程,特别是这些高阶空间变量导数前面有不小的系数时,经过谱方法离散空间变量后,生成在时间上耦合的常微分方程组(ODEs),采用显式格式,局部时间离散,为保持数值格式稳定,对时间步长有严格的约束.因此,有必要采用隐式稳定的数值格式.当前研究的高阶时间格式有半隐式的Spectral DeferredCorrection(SDC)方法,Additive Runge-Kutta(ARK)方法,以及指数时间差分Exponential Time-Differencing(ETD)方法等.我们在第三章,介绍一些高阶时间离散格式,如广泛应用于Hamiltonian动力学模型的分数步方法,来自于常微分方程理论的积分因子(IF)方法,指数时间差分(ETD)方法,重点介绍了半隐式的Spectral Deferred Correction(SISDC)方法,以及采用GMRES Krylov子空间方法加速的Krylov Deferred Correction(KDC)方法。
本文主要是应用谱方法及高阶时间离散方法求解实际问题中的偏微分方程模型.在第四章,我们研究浅水波模型的Korteweg-de Vries方程,反应-扩散系统的Kuramoto-Sivashinsky方程,材料科学的Allen-Cahn与Cahn-Hilliard方程,以及数学物理的非线性Schrodinger方程,这里我们重点研究描述结晶固体反相边界运动的Allen-Cahn方程()tu=γ[△u-1/ε2f(u)],与描述固体复杂相分离与晶体粗化现象的Cahn-Hilliard方程()tu=γ△[-△u+1/ε2f(u)]。
这两个方程在材料科学里作为相跃迁,模式形成模型,有广泛的应用与数值研究.[30,29,31,113].当ε很小时,构造高阶,有效,无条件能量稳定的数值格式,仍面临着一些挑战.对于Allen-Cahn与Cahn-Hilliard方程的时间离散,我们构造稳定的半隐式Spectral Deferred Correction(SSISDC)方法[60].SSISDC方法是无条件稳定,在每一次迭代过程中只要解简单的线性方程组,在每一个时间步仅要几次迭代就能达到高阶时间精度,大量的数值结果说明SSISDC方法对解Allen-Cahn与Cahn-Hilliard方程有效.在本文中我们采用SSISDC方法仅考虑Allen-Cahn与Cahn-Hilliard方程,显然这些方法能应用于更一般的梯度流,如薄膜外延方程,各向异性的Cahn-Hilliard方程.这种方法构成形成高阶稳定的数值格式,解多相流的相场模型的重要组成部分。.