• {{article.mytitle}}
  • DG其它格式2

    1. 笔记主页

    笔记主页

    2. 复习回顾

    2.1. 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方法的可用手段

    • 测试函数的选取
    • 满足特殊边界条件的 投影
    • 分部积分
    • 格式上:想办法把误差范数平方写到一边,最后约去一个
    • 不等式:例如有时间项,则用Gronwall不等式

    3. 非线性对流扩散方程

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

    • 稳定性
    • 误差分析

    这种方程DG格式不唯一

    4. 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]JR_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]JR_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不太好选取是它的劣势

    5. 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可以任取

    6. 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+ULjVLjR_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}

    7. 高阶方程

    7.1. KDV方程

    ut+σuux=ϵuxxxu_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}

    7.2. 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{*}
    离散格式和原来的方式类似

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

    7.3. 稳定性分析

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

    7.4. 误差分析

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

    8. welrea-weak DG

    三次分部积分的离散格式

    8.1. 离散格式

    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+BhjR_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}^+.

    稳定性

    略,和前面一眼

    8.2. 误差分析

    也和前面一样

    笔记主页