黃建國,吳 渤
(上海交通大學數學科學學院,上海 200240)
Klein-Gordon方程是一類典型的非線性波動方程,在理論和應用物理的許多領域,如非線性光學、固體物理和量子場論[1-2]中有廣泛應用. 本文考慮如下Klein-Gordon方程:
(1)
式中,Ω?R2是有界矩形區域,D>0是擴散系數,g是非線性函數,f是外源函數.
近年來已有學者對Klein-Gordon方程發展了各種數值方法. 例如差分法[3-4],邊界元法[5],微分求積法[6]等. 然而這些現有的數值方法要么精度有限,要么計算復雜度大,因此很有必要發展求解該問題的高效計算方法. 最近,作者在文獻[7]中借鑒積分因子方法[8-13]的思想提出了一種快速緊致時間積分法(FCTI)用于數值求解任意階發展方程. 該方法在空間方向使用緊致差分格式離散,然后在時間方向上基于快速離散正弦變換和常數變易公式獲得任意階發展方程的顯式表達式,再利用Lagrange插值近似非線性源項,導出了一類高效求解方法. 本文將使用前文方法數值求解Klein-Gordon 方程(1),但用Hermite 插值代之于 Lagrange 插值來處理非線性源項,從而得到更為高效的數值求解方法. 此時,僅需利用前兩個時間步的計算結果,就可獲得空間和時間方向均為四階精度的高效算法. 數值實驗驗證了所提算法的高效性.
設Ω={xb (xi,yj)=(xb+ihx,yb+jhy),0≤i≤Nx,0≤j≤Ny. 給定正整數p,記 并定義如下兩個算子: 使用四階緊致差分格式進行空間離散[14-15]: 式中,i=1,2,…,Nx-1,j=1,2,…,Ny-1,從而得到方程(1)的如下空間半離散化格式: (2) 式中, 經直接計算可知,在方程(2)中出現的相關矩陣存在以下譜分解: 又記H=(hi,j)(Nx-1)×(Ny-1), (3) 則注意到hi,j<0,從而易知 定義g(t)=(gij(t))(Nx-1)×(Ny-1),g′(t)=(g′ij(t))(Nx-1)×(Ny-1). 設V(t)=U′(t). 則使用文獻[7]中相同辦法,利用常數變易公式可知問題(3)之解可顯式表示為 (4) 給定正整數Nt,設 Δt=T/Nt. 對時間區間[0,T]做均勻剖分:tm=mΔt,m=0,1,…,Nt. 由(4)可得如下時間遞進計算格式: 式中, 當r=0,1,2,3 時,記 式中, 定義 式中, 在此基礎上,就可以得到求解(1)的Hermite型快速緊致時間積分方法如下: 式中, 設N=max(Nx,Ny),基于FFT算法實現以上數值解法,易知在每一時間步總的計算復雜度是O(N2log(N)). 在本節中,通過數值算例討論快速緊致時間積分Hermite格式的收斂性和效率. 在方程(1)中,選取g(u)=u-u3以及適當的函數使得精確解為 u(t,x,y)=cos(x)cos(y)sin(t). 取空間區域為Ω=(-1,2π-1)2,求解時間為T=1. 此時相應的邊界條件是非齊次的. 在表1中列出了U和V在不同時空剖分網格下的L2和L∞誤差、收斂率和CPU時間. 從中可以看出該方法在空間和時間方向上都達到了四階收斂率. 就CPU時間而言,從表中可以發現,由于使用了FFT算法,即使在空間網格非常細的情況下,CPU時間也非常小. 表1 在最終時刻T=1的誤差、收斂率以及CPU時間Table 1 Numerical errors,convergence rates and the CPU times at T=12 時間離散:時間積分和非線性源項離散
3 數值實驗