20190727个人笔记(川大)

官网课程视频地址

笔记主页

有限元插值理论

注意到

uIhuV,Ω=KuIhuV,K || u-I_h u ||_{V, \Omega} = \sum_{K} || u - I_hu ||_{V,K}

因此只需要考虑全局插值算子IhI_h在单元KK上的限制(即局部插值算子),记

IhuK=:Ih,Ku. I_h u|_K =: I_{h,K}u .

例一维P1P_1 FEM

形函数空间 Vr(K)V_r(K)
插值函数,求pnPn(I),I=[a,b]p_n \in \mathcal P_n(I),I=[a,b] ,使得
pn(xj)=f(xj) p_n(x_j) = f(x_j)

{Ln,j}j=0n\{ L_{n,j} \}_{j=0}^n 组成Pn\mathcal P_n的一组基

Pn=span{Ln,j,  j=0,1,,n} \mathcal P_n = \text{span}\{ L_{n,j},\; j = 0,1,\cdots,n\}

插值估计

设参考单元K^={(x^,y^):0x^,y^,1x^y^0}\hat K=\{(\hat x, \hat y): 0\leq \hat x, \hat y, 1-\hat x-\hat y\leq 0\}

线性变换GG满足
x=G(x^)=Bx^+b,x^=G1(x). x = G(\hat x) = \mathbb B \hat x +\bm b,\quad \hat x = G^{-1}(x).
因为是线性变换,相应的雅可比行列式J=det(B)|\mathbb J| = \det(\mathbb B)可做如下推导
K1  dK=K^J  dK^. \int_{K} 1 \;d K = \int_{\hat K} |\mathbb J| \;d\hat K.
可解得J=K/K^=2K|\mathbb J| = |K|/|\hat K|= 2|K|, 其中K|K|KK的测度。

uIh,KuL2(K)2C^hK4uH2(K)2. || u - I_{h,K} u||^2_{L^2(K)} \leq \hat Ch_K^4|u|^2_{H^2(K)}.

其中C^=CρK^4\hat C = \frac{C}{\rho^4_{\hat K}}.

高阶情况

假设uHs(Ω)(s>1)u\in H^s(\Omega)(s>1), μ=min{r+1,s}\mu = \min\{r+1, s\}.

因此求和之后有

其中h=maxK{hK}h = \max_{K}\{h_K\}.

有限元误差估计

定理

假设uHs(Ω)(s>1)u\in H^s(\Omega)(s>1)使uhu_hPrP_r FEM的离散解,有能量范数估计

uuhV=uuhH1(Ω)Chμ1uHμ(Ω). ||u- u_h||_V = || u - u_h ||_{H^1(\Omega)} \leq Ch^{\mu-1}|u|_{H^\mu(\Omega)}.

L2L^2模估计(对偶论证)

以如下possion问题为例
Δu=f, in Ω;u=0 on Ω. -\Delta u = f, \text{ in } \Omega;\quad u= 0 \text{ on } \partial \Omega.

假设uHs(Ω)(s>1)u\in H^s(\Omega)(s>1),记eh=uuhe_h = u -u_h,假设(GP)正则项足够好,

uuhL2(Ω)ChμuHμ(Ω). || u - u_h ||_{L^2(\Omega)} \leq Ch^{\mu}|u|_{H^\mu(\Omega)}.
证:
因为(GP)的正则项足够好,于是关于ϕ\phi的方程
a(v,ϕ)=(eh,v)vV a(v, \phi) = (e_h, v), \forall v \in V

有解ϕH2(Ω)\phi \in H^2(\Omega), 同时满足ϕH2(ϕ)CehL2(Ω)||\phi||_{H^2(\phi)} \leq C||e_h||_{L^2(\Omega)}

在方程中取v=ehv=e_h,注意到误差方程

a(eh,vh)=0,vhVh. a(e_h, v_h) = 0, \quad \forall v_h \in V_h.

于是有
(eh,eh)=a(eh,ϕ)=a(eh,ϕ ⁣ ⁣Ihϕ)CehVϕ ⁣ ⁣IhϕV (e_h, e_h) = a(e_h, \phi)=a(e_h, \phi \!- \!I_h\phi)\leq C||e_h||_V || \phi\!-\!I_h\phi ||_V
再根据插值估计ehVChμ1uHμ||e_h||_V\leq Ch^{\mu-1}|u|_{H^\mu}以及ϕIhϕVChϕH2(Ω)ChehL2(Ω)||\phi-I_h\phi||_V\leq Ch|\phi|_{H^2(\Omega)} \leq Ch||e_h||_{L^2(\Omega)}

联立起来有
ehL2(Ω)2=(eh,eh)ChμϕHμ(Ω)ehL2(Ω) ||e_h||^2_{L^2(\Omega)} = (e_h, e_h) \leq Ch^{\mu}|\phi|_{H^\mu(\Omega)}||e_h||_{L^2(\Omega)}

ehL2(Ω)ChμϕHμ(Ω). ||e_h||_{L^2(\Omega)} \leq Ch^{\mu}|\phi|_{H^\mu(\Omega)}.

LL^\infty模估计

要注意到当r=1r=1时结论中有个lnh|\ln h|

4阶问题能量估计

uuhH1(Ω)Chmin{r+1,s}1uHs(Ω). || u-u^h ||_{H^1(\Omega)} \leq Ch^{\min\{r+1, s\}-1} |u|_{H^s(\Omega)}.

uuhH2(Ω)Chmin{r+1,s}2uHs(Ω). || u-u^h ||_{H^2(\Omega)} \leq Ch^{\min\{r+1, s\}-2} |u|_{H^s(\Omega)}.

注:
先验误差估计:误差项依赖真解
后验误差估计:计算误差到底有多大

线性方程组的求解

如何求解线性方程组
Ahξ=b\mathbb A_h \bm \xi = \bm b

其特点是Ah\mathbb A_h是大型稀疏矩阵。

解决条件数不好的办法:预处理

推广

例1

依然回到(GP):求uVu \in V,使得
a(u,v)=F(v),,vV. a(u, v) = F(v), \quad, \forall v \in V.
对方程Δu=f-\Delta u = f,同时乘以测试函数vv做内积
(Δu,v)=(f,v) (-\Delta u, v) = (f,v)
左端2次分部积分
(u,Δv)=(f,v),vH2(Ω)H01(Ω). -(u, \Delta v) = (f, v), \quad\forall v \in H^2(\Omega) \cap H_0^1(\Omega).

例2

问题本身很复杂,没有乘检验函数做内积
A(x):D2u=f in Ω,u=0 on Ω. A(x) :D^2 u = f \text{ in } \Omega, \quad u=0 \text { on } \partial \Omega.
其中算符“::”表示两矩阵间的点乘(对应位置元素想乘最后求和),D2uD^2 u表示uu的黑塞矩阵, tr(D2u)=Δutr(D^2 u) = \Delta u.

定义
a(u,v)=ΩA(x):D2(x)v(x)dx, a(u, v) = \int_{\Omega} A(x):D^2(x) v(x) dx,
F(x)=Ωfvdx. F(x) = \int_{\Omega} fv dx.

练习

练习1

验证f(x)Inf(x)=f(n+1)(ξ)(n+1)!Πi=0n(xxi)f(x)-I_nf(x) = \frac{f^{(n+1)}(\xi)}{(n+1)!}\Pi_{i=0}^n(x-x_i)

练习2

Δu=f, in Ω;u=0 on Ω. -\Delta u = f, \text{ in } \Omega;\quad u= 0 \text{ on } \partial \Omega.
V=H01(Ω),  a(u,v)=(u,v),  F(v)=(f,v)V=H_0^1(\Omega), \;a(u,v) = (\nabla u, \nabla v), \;F(v) = (f,v).

uIh,KV,K2=(uIh,Ku)K2hK4ρK2uH22 ||u- I_{h,K}||^2_{V,K} = ||\nabla (u - I_{h,K}u) ||^2_{K} \leq \frac{h_K^4}{\rho_K^2}|u|^2_{H^2}

其中ρK\rho_K为单元KK的内切圆半径,满足0hKρKS0\leq \frac{h_K}{\rho_K}\leq S.


笔记主页