20190803个人笔记(川大)

官网课程视频地址

笔记主页

复习回顾

LDG格式

{utuxx=0u(x,0)=u0(x) \begin{cases} u_t - u_{xx} = 0\\[1em] u(x,0) = u^0(x) \end{cases}

utuxx=0u_t - u_{xx} = 0拆开成
{utvx=0vux=0 \begin{cases} u_t - v_x = 0 \\ v - u_x = 0\\ \end{cases}
uh,vhVhu_h, v_h\in V_h,使得对wh,zhVh\forall w_h, z_h\in V_h
{((uh)t,w)j+(vh,wx)+V^RjWRjV^LjwLj=0(vh,z)j+(uh,zx)+U^RjZRjU^LjZLj=0 \begin{cases} ((u_h)_t, w)_j + (v_h, w_x) + \hat V_R^jW_R^j - \hat V_L^j w_L^j = 0\\[1em] (v_h, z)_j + (u_h, z_x) + \hat U_R^jZ_R^j - \hat U_L^j Z_L^j = 0\\ \end{cases}

如果都取均值通量,对于奇数次会掉阶,偶数次丰满阶。

证明DG方法的可用手段

非线性对流扩散方程

ut+f(u)x=(a(u)ux)x,a(u)0 u_t + f(u)_x = (a(u)u_x)_x, \quad a(u)\geq 0
用某些DG方法可以满足

这种方程DG格式不唯一

SIPG

ut=uxxu_t = u_{xx}

弱形式: 求uhVhu_h \in V_h,使得对vhVh\forall v_h \in V_h
(ut,v)=(ux,vx)+j(Ux)RjVRj(Ux)LjVLj:=R(a) (u_t, v) = -(u_x, v_x) + \sum_j (U_x)^j_R V^j_{R} - (U_x)^j_L V^j_{L} : = R \tag{a}

则可用(U^x)Rj(\widehat U_x)^j_R代替(Ux)Rj(U_x)^j_R,以及

(U^x)Lj(\widehat U_x)^j_L代替(Ux)Lj(U_x)^j_L,满足

(U^x)Rj=(U^x)Lj1:=(U^x)J (\widehat U_x)^j_R = (\widehat U_x)^{j-1}_L:=(\widehat U_x)^J

定义跳跃
[u](x)=u(x+)u(x) [u](x) = u(x^+) - u(x^-)

于是(a)式离散后,右端为

Rh=j((uh)x,vx)jJ(U^x)J[V]J R_h = -\sum_{j} ((u_h)_x, v_x)_j - \sum_{J} (\widehat U_x)^J[V]^J

其中小写jj表示对单元循环,大写JJ表示对边界循环

假设真解uu连续,则

Rh=j((uh)x,vx)jJ(U^x)J[V]J+(V^x)J[U]J R_h = -\sum_{j} ((u_h)_x, v_x)_j - \sum_{J} (\widehat U_x)^J[V]^J+ (\widehat V_x)^J[U]^J

为了保证格式的稳定性,上面边界循环项还要增加一个惩罚项即

(U^x)J[V]J+(V^x)J[U]J+Ch[U]J[V]J (\widehat U_x)^J[V]^J+ (\widehat V_x)^J[U]^J + \frac{C}{h}[U]^J[V]^J

其中[U]J[U]^J表示UU在点JJ处的跳跃,C>0C>0并且足够大,所以CC不太好选取是它的劣势

NIPG

惩罚项可以不要,0项取负号,即边界循环的项为

(U^x)J[V]J(V^x)J[U]J+Ch[U]J[V]J (\widehat U_x)^J[V]^J - (\widehat V_x)^J[U]^J + \frac{C}{h}[U]^J[V]^J
其中CC可以任取

Ultra-weak DG

两次分部积分的离散格式

uhVhu_h \in V_h 使得vVh\forall v\in V_h

((uh)t,v)j=Rhj ((u_h)_t, v)_j = R_h^j
其中

Rhj=(uh,Vxx)j+(Ux)RjVRj(Ux)LjVLjURjVRj+ULjVLj R_h^j = (u_h, V_{xx})_j + (U_x)^j_R V^j_{R} - (U_x)^j_L V^j_{L}-U^j_R V^j_{R} + U^j_L V^j_{L}

高阶方程

KDV方程

ut+σuux=ϵuxxx u_t + \sigma uu_x = \epsilon u_{xxx}

简单格式
{ut=uxxxu(x,0)=u0(x) \begin{cases} u_t = u_{xxx}\\[0.5em] u(x,0) = u^0(x) \end{cases}

LDG格式

把方程拆开成一阶组
{utwx=0wvx=0vux=0(*) \begin{cases} u_t - w_x=0\\[0.5em] w - v_x = 0\\[0.5em] v - u_x = 0 \end{cases} \tag{*}
离散格式和原来的方式类似

注意通量中间的方程要迎风方向,首尾两个方程一个正一个负可任取。

稳定性分析

假设(*)式分别测试函数r,s,zr,s,z,则稳定性分析中,分别取r=uhr=u_hs=vhs=-v_hz=whz=w_h,本质原理就是要保证uhu_h能凑成L2L_2范数平方,把w,vw, v相关的积分消灭。恰巧导数相关的项会凑在一起变成边界项。

误差分析

要注意因为边界项的影响可能会丢半阶,因为边界项需要被内部 估计,投影的构造容易顾此失彼。

welrea-weak DG

三次分部积分的离散格式

离散格式

uhVhu_h \in V_h 使得vVh\forall v\in V_h

((uh)t,v)j=Rhj ((u_h)_t, v)_j = R_h^j
其中

Rhj=(uh,Vxxx)j+Bhj R_h^j = (u_h, V_{xxx})_j +B_h^j

边界项
Bhj=(Uxx)RjVRj(Uxx)LjVLj(Ux)Rj(Vx)Rj+(Ux)Lj(Vx)Lj+(U)Rj(Vxx)Rj(U)Lj(Vxx)Lj \begin{aligned} B_h^j &= (U_{xx})^j_R V^j_{R} - (U_{xx})^j_L V^j_{L}\\[0.5em] &- (U_{x})^j_R (V_{x})^j_{R} + (U_{x})^j_L (V_{x})^j_{L} \\[0.5em] &+(U_{})^j_R (V_{xx})^j_{R} - (U_{})^j_L (V_{xx})^j_{L} \end{aligned}
通量
u^=u,u^x=ux,u^xx=uxx+. \hat u = u^-,\quad \hat u_x = u_x^-,\quad \hat u_{xx} = u_{xx}^+.

稳定性

略,和前面一眼

误差分析

也和前面一样

笔记主页