DG其它格式
笔记主页
⎩⎨⎧ut+f(u)x=0u(x,0)=u0(x)
当k=0,
uˉjn+1=uˉjn−λ(f^R−f^L)=Hλ(uˉj−1n,uˉjn,uˉj+1n).
容易验证Hλ关于每个变量都是增函数。
如果m≤uˉjn+1≤M,很显然有
Hλ(uˉj−1n,uˉjn,uˉj+1n)≥Hλ(m,m,m).
当k>0,
uˉjn+1=uˉjn−λ(f^(uRj,uLj+1),−f^(uRj−1,uLj))
此时
uˉjn+1=Gλ(uˉjn,uRj,uLj,uRj−1,uLj−1).
希望Gλ关于第1,3,4个变量为增函数,关于第2,5个变量为减函数。
对uˉjn+1采用高斯-洛巴托{xlj,wl}l=0m积分,把两端点和中点的值分开,然后逐项分析
当满足两条件
-
uhn(xlj)∈[m,M]
-
λ≤w0λ0
有
uˉjn+1∈[m,M]
为了保证第一个条件,我们只需要把多项式限制一下,
θj(P(x)−uˉj)+uˉj,θj∈[0,1]
当θj=0一定保证第一个条件,但这种结构完全改变了原函数形态。当θj=1相当于不做处理。因此总会有个最佳θj,它刚好满足第一个条件。
下面分析这种对函数的修正对精度的影响。
如果∣P(x)−u(x)∣≤Chk+1,则有
∣Plim(x)−u(x)∣≤C1hk+1.
定理表明对函数做修正不影响精度
注:这种格式可以和TVD结合使用
注: 该工作主要有由 X.Zhang
笔记主页
有个非线性的动作
参考:
- JX Qiu(厦大)
- X Zhong(浙大)
- J Zhou
ut=uxx,u(x,0)=u0(x)=sinx
准确解:u=e−tsinx
可以改写为
ut+f(u)x=0
其中f(u)=−ux
于是有离散格式:
求 uh∈Vh使得对∀v∈Vh.
((uh)t,v)j−(f(uh),vx)j+fj+21Vj+21−−fj−21Vj−21+=0
这里取fj+21为平均值
分析稳定性:
un+1=Gun
已有结论表明∣∣G∣∣∽hC.因此它是不好的格式,说明这种格式有 局限性.
既然原来的方法只是针对一阶导数,那么可以把二阶方程变成只有一阶导数的情形,也就是下面的LDG方法
Bassi-Rebay
把ut−uxx=0拆开成
{ut−vx=0v−ux=0
求uh,vh∈Vh,使得对∀wh,zh∈Vh有
⎩⎨⎧((uh)t,w)j+(vh,wx)+V^RjWRj−V^LjwLj=0(vh,z)j+(uh,zx)+U^RjZRj−U^LjZLj=0
如果都取均值通量,对于奇数次会掉阶。
取w=uh∈Vh,z=vh∈Vh,
把两个式子合并起来,积分项放一起,边界项放一起
困难之处在于两个积分项
(vh,(uh)x)j,(uh,(vh)x)j,
它们都关联两个变量,还有导数积分,所以要想办法把它处理掉,处理的思路是把它们合并起来,变成边界项。
如果通量取
U^Rj=URj,V^Rj=VLj+1,
很多边界项就可以很容易抵消掉,当然对于均值通量也是成立的。
用坏格式编写ut=uxx,初值u(x,0)=sinx,T=1
绘制误差图u−uh,以及uh−u2h.
LDG格式求解。
换数值通量