一维Helmholtz方程的Chebyshev - Galerkin谱方法
在上面这篇博文中,讲述了加权余量法的基本原理,以及系统地推导,阐述了 C h e b y s h e v − G a l e r k i n Chebyshev-Galerkin Chebyshev−Galerkin方法的计算过程,本文在上面的基础上,继续探讨 L e n g e n d r e − G a r l e r k i n Lengendre-Garlerkin Lengendre−Garlerkin方法以及 L e g e n d r e − C h e b y s h e v − G a l e r k i n Legendre-Chebyshev-Galerkin Legendre−Chebyshev−Galerkin方法,可以看到, C h e b y s h e v − G a l e r k i n Chebyshev-Galerkin Chebyshev−Galerkin在作正变换以及逆变换的过程中,能够作快速余弦变换,但该方法所推导出的刚度矩阵稀疏程度不够; 最关键的是,刚度矩阵不是对称的!.在本文介绍的 L e n g e n d r e − G a r l e r k i n Lengendre-Garlerkin Lengendre−Garlerkin方法中,可以看到刚度矩阵是对角矩阵,但 L e g e n d r e Legendre Legendre正变换以及逆变换的过程没有快速计算方法,实际计算复杂度是 O ( N 2 ) O(N^{2}) O(N2);最后给出的 C h e b y s h e v − L e g e n d r e − G a l e r k i n Chebyshev-Legendre-Galerkin Chebyshev−Legendre−Galerkin方法同时具备了 C h e b y s h e v − G a l e r k i n Chebyshev - Galerkin Chebyshev−Galerkin方法以及 L e g e n d r e − G a l e r k i n Legendre-Galerkin Legendre−Galerkin方法的优势.
回忆
首先,回忆上篇博文中的重要内容
考虑如下一维齐次 D i r i c h l e t Dirichlet Dirichlet型边界条件的 H e l m h o l t z Helmholtz Helmholtz方程( α > 0 \alpha > 0 α>0):
{ − u ′ ′ + α u = f i n I = ( − 1 , 1 ) u ( ± 1 ) = 0 \begin{cases} -u ^{''} + \alpha u = f \ \ in \ I = (-1, 1) \\ u(\pm1) = 0 \end{cases} {
−u′′+αu=f in I=(−1,1)u(±1)=0
定义空间
P N 0 = { ϕ ∈ P N ∣ ϕ ( ± 1 ) = 0 } P^{0}_{N} = \left\lbrace \phi \in P_{N} | \phi(\pm1) = 0\right\rbrace PN0={
ϕ∈PN∣ϕ(±1)=0}
取试函数: u N = ∑ i = 0 N − 2 a i ϕ i ( x ) u_{N} = \sum\limits_{i = 0}^{N - 2} a_{i}\phi_{i}(x) uN=i=0∑N−2aiϕi(x), 其中 ϕ i ( x ) \phi_{i}(x) ϕi(x)为空间 P N 0 P^{0}_{N} PN0的基函数.
对上述方程进行 R i t s z − G a l e r k i n Ritsz-Galerkin Ritsz−Galerkin离散得到如下变分形式
求 u N ∈ P N 0 u_{N} \in P^{0}_{N} uN∈PN0, s.t.
− ( u N ′ ′ , v N ) ω + α ( u N , v N ) ω = ( I N f , v N ) ω ∀ v N ∈ P N 0 -(u_{N}^{''} , v_{N})_{\omega} + \alpha(u_{N}, v_{N})_{\omega} = (I_{N}f, v_{N})_{\omega} \quad \forall v_{N} \in P_{N}^{0} −(uN′′,vN)ω+α(uN,vN)ω=(INf,vN)ω∀vN∈PN0:
将试函数带入到变分形式中,得到 G a l e r k i n Galerkin Galerkin方程组:
− ∑ i = 0 N − 2 ( ϕ i ′ ′ , ϕ j ) ω u ^ i + α ∑ i = 0 N − 2 ( ϕ i , ϕ j ) ω u ^ i = ( f N , ϕ j ) ω , j = 0 , ⋯ , N − 2 -\sum\limits_{i = 0}^{N-2}( \phi^{''}_{i}, \phi_{j})_{\omega}\widehat{u}_{i} + \alpha\sum\limits_{i = 0}^{N-2}\left( \phi_{i}, \phi_{j}\right)_{\omega}\widehat{u}_{i} = (f_{N}, \phi_{j})_{\omega} , \ j = 0,\cdots, N-2 −i=0∑N−2(ϕi′′,ϕj)ωu
i+αi=0∑N−2(ϕi,ϕj)ωu
i=(fN,ϕj)ω, j=0,⋯,N−2
改写方程组为矩阵形式得到:
( S + α M ) U ^ = f (S + \alpha M) \widehat{U} = f (S+αM)U
=f
其中
( S ) i j = − ( ϕ j ′ ′ ( x ) , ϕ i ( x ) ) ω (S)_{ij} = -(\phi_{j}^{''}(x), \phi_{i}(x))_{\omega} (S)ij=−(ϕj′′(x),ϕi(x))ω 称为 刚度矩阵
( M ) i j = ( ϕ j ( x ) , ϕ i ( x ) ) ω (M)_{ij} = (\phi_{j}(x), \phi_{i}(x))_{\omega} (M)ij=(ϕj(x),ϕi(x))ω 称为 质量矩阵
f = ( ( I N f , ϕ 0 ( x ) ) ω , ⋯ , ( I N f , ϕ N − 2 ( x ) ) ω ) T \mathbf{f} = \left((I_{N}f, \phi_{0}(x))_{\omega}, \cdots, (I_{N}f, \phi_{N-2}(x))_{\omega} \right)^{T} f=((INf,ϕ0(x))ω,⋯,(INf,ϕN−2(x))ω)T
U ^ = ( u ^ 0 ⋯ u ^ N − 2 ) T \widehat{U} = (\widehat{u}_{0} \cdots \widehat{u}_{N-2})^{T} U
=(u
0⋯u
N−2)T
计算要点就是通过取不同的基函数来得到不同的代数系统进行求解.
Legendre-Galerkin方法
Legendre多项式及其性质
首先给出下面会用到的 L e g e n d r e Legendre Legendre多项式的一些基本性质,这里考虑区间 [ − 1 , 1 ] [-1, 1] [−1,1]上的 L e g e n d r e Legendre Legendre多项式
- 三项递推关系
L 0 ( x ) = 1 , L 1 ( x ) = x ( n + 1 ) L n + 1 ( x ) = ( 2 n + 1 ) x L n ( x ) − n L n − 1 ( x ) L_{0}(x) = 1, \quad L_{1}(x) = x \\ (n+1)L_{n+1}(x) = (2n+1)xL_{n}(x) - nL_{n-1}(x) L0(x)=1,L1(x)=x(n+1)Ln+1(x)=(2n+1)xLn(x)−nLn−1(x) - 微分定义
L n ( x ) = 1 2 n n ! d n d x n [ ( x 2 − 1 ) n ] L_{n}(x) = \frac{1}{2^{n}n!} \frac{d^{n}}{dx^{n}}\left[ (x^{2} - 1)^{n} \right] Ln(x)=2nn!1dxndn[(x2−1)n] - 正交性关系
∫ − 1 1 L k ( x ) L j ( x ) d x = 1 k + 1 / 2 δ k j \int_{-1}^{1} L_{k}(x)L_{j}(x) dx = \frac{1}{k + 1/ 2}\delta_{kj} ∫−11Lk(x)Lj(x)dx=k+1/21δkj
δ k j \delta_{kj} δkj指 K r o n e c k e r Kronecker Kronecker符号. - 二阶导数关系
L n ′ ′ ( x ) =