Skip to content

原则Principle

一维有限元残差后验估计

Finite element residual estimator · Residual a posteriori error estimator

从单元残差与斜率跳跃构造可计算指标,在一维 Poisson 模型中证明可靠性、含振荡的效率和分片常荷载的精确误差公式。

解出有限元矩阵方程之后,还有一个问题没有回答:这张网格上的折线,距离原来的连续解究竟多远?矩阵残差为零,只说明有限个测试方向上的平衡已经满足;它没有检查单元内部的弯曲,也没有消除折线在节点处的斜率变化。

残差后验估计从已经得到的离散解和已知荷载出发,为这些缺陷赋予正确的尺度,再把它们变成误差界。与需要未知解正则性范数的先验估计相比,它更适合回答一次具体计算是否足够精细。本条在一个可以把每一步证明到底的一维模型中建立这座桥;自适应有限元随后用局部指标决定在哪里增加自由度。

形式陈述 ​

固定方程、空间和误差 ​

考虑

−u″=f于 (0,1),u(0)=u(1)=0,f∈L2(0,1).

取任意严格递增划分 0=x0<⋯<xN=1,单元 Ki=(xi−1,xi) 的长度为 hi。Vh 是连续分片一次、端点为零的空间。按有限元方法精确计算积分,并精确求解离散系统,所得 uh∈Vh 满足

∫01uh′vh′dx=∫01fvhdx(vh∈Vh).

这里讨论的误差是能量误差

e=u−uh,E=‖e′‖L2(0,1),EK=‖e′‖L2(K).

零端点条件使导数半范数成为 H01 上的范数。数值积分误差和未完成线性求解造成的误差暂不包括在 E 中;后文会说明怎样区分代数误差。

单元内部与节点处的残差 ​

对任意 v∈H01(0,1),定义连续残差泛函

R(v)=∫01fvdx−∫01uh′v′dx.

设 Ui=uh(xi),单元斜率和内部节点跳跃分别为

si=Ui−Ui−1hi,Ji=si+1−si(1≤i<N).

逐单元积分得到

R(v)=∑K∫Kfvdx+∑i=1N−1Jiv(xi).

符号来自相邻端点贡献:左单元给出 −siv(xi),右单元给出 +si+1v(xi)。单元内 uh″=0,所以强残差 f+uh″ 就是 f;但分布意义下的二阶导数还包含节点贡献,不能因为单元内二阶导数为零就略去跳跃。两端的测试函数为零,因此此处没有 Dirichlet 端点跳跃项。

取 v=vh 时 R(vh)=0,并不要求上式中的每一项分别为零。对内部帽函数 ϕi,更精确的平衡是

Ji=−∫01fϕidx.

这也说明 Ji 是数值解斜率的跳跃,并非荷载 f 本身的跳跃。

本条采用的权重与局部分配 ​

定义

V2=∑KhK2‖f‖L2(K)2,wi=min(hi,hi+1),η2=V2+∑i=1N−1wiJi2.

将一个内部节点的跳跃贡献平均分给左右单元:

ηKi2=hi2‖f‖L2(Ki)2+12wi−1Ji−12+12wiJi2,

其中不存在的端点项直接省略。于是 η2=∑KηK2,每个 ηK 都可由当前解、荷载和网格计算。

这是本条明确选择的一维指标,权重使用相邻长度的较小值,便于在高度不均匀的网格上给出统一常数。多维残差估计也组合单元残差和界面通量跳跃,但界面测度、权重与局部邻域需要重新定义;这里的公式不是把高维面面积机械代成零而得到的特例。[1]

为什么它能控制误差 ​

一个一维特性:离散解等于节点插值 ​

u∈H2(0,1),因此可以定义节点插值 Ihu。任意 vh∈Vh 的导数在各单元上为常数,而

∫K(u−Ihu)′dx=0.

所以 a(u−Ihu,vh)=0。这与Galerkin 正交完全相同;离散解唯一,故 uh=Ihu。它不是说整个函数已经精确,而是说 e 在每个单元的两个端点都为零。在各单元内部,仍有 −e″=f。

这个结论依赖一维、单位扩散系数和协调一次元。它是下述简洁证明的关键,不能直接移植到一般变系数或高维网格。

可靠性:估计量不会漏掉大误差 ​

长度为 hK 的区间上,零端点函数满足 Poincaré 不等式 ‖e‖K≤(hK/π)‖e′‖K。局部分部积分后,

EK2=∫Kfedx≤‖f‖KhKπEK.

约去非零的 EK,再平方求和,得到

E≤Vπ≤ηπ.

这就是可靠性:只要计算假设成立,η/π 是能量误差的上界。对这个特殊模型,仅体积项 V 就足以给出上界;保留跳跃项有助于呈现连续残差的完整结构,并为局部标记提供另一种分配信息。

荷载在每个单元上常值时:可以精确比较 ​

若 f|K=cK,写局部坐标 t=x−xi−1。由 −e″=cK 与零端点条件,

e(t)=cK2t(hK−t),EK2=∫0hKcK2(hK/2−t)2dt=cK2hK312.

因此 V2=12E2。帽函数平衡进一步给出

Ji=−cihi+ci+1hi+12.

由 (a+b)2≤2(a2+b2) 以及 wi≤hi,hi+1,每个节点贡献满足

wiJi2≤12(ci2hi3+ci+12hi+13).

一个单元至多被相邻两个节点计入,故 ∑iwiJi2≤V2。于是

12E≤η≤24E.

这里“荷载分片常值”必须相对于当前网格成立。若荷载断点落在单元内部,不能直接套用此精确公式。满足条件时,二分一个单元会把该单元的误差平方从 cK2hK3/12 变成原来的 1/4;其他单元的误差不变。这为一次局部加密提供了可以独立核验的真误差答案。

数据振荡为何不能忽略 ​

把荷载分成平均值与未分辨部分 ​

对一般 f∈L2,定义

f¯K=1hK∫Kfdx,osc2=∑KhK2‖f−f¯K‖K2,V¯2=∑KhK2‖f¯K‖K2.

正交分解给出 V2=V¯2+osc2。单元上再把误差分成 e=e0+ed,其中两个函数都在单元端点为零,分别满足 −e0″=f¯K 和 −ed″=f−f¯K。前一项能精确积分,后一项应用刚才的可靠性证明,因此

‖e0′‖=V¯12,‖ed′‖≤oscπ.

这里范数对全部单元求和。由三角不等式及其反向形式,

max(0,V¯12−oscπ)≤E≤V¯12+oscπ.

一般效率估计的机制 ​

由 Ji=−∫fϕi 和 ‖ϕi‖K2=hK/3,对两侧分别使用 Cauchy–Schwarz,再用 (a+b)2≤2a2+2b2,得到

wiJi2≤23(hi2‖f‖Ki2+hi+12‖f‖Ki+12).

求和后 η≤7/3V。另一方面,上面的误差分解给出 V¯≤12E+(12/π)osc。结合 V≤V¯+osc,有

η≤73[12E+(1+12π)osc].

常数并不尖锐,但不依赖相邻单元长度比。这是含数据振荡的效率,与此前的可靠性方向相反:估计量的偏大受真实误差和未分辨荷载共同限制。[1]

直觉

可靠性不声称 η 等于 E,也不声称每个 ηK 与 EK 成固定比例。相邻单元会共享跳跃贡献,所以真实误差为零的单元也可能收到正指标。

这不是说振荡就是误差,而是说用单元平均值代替原荷载时,遗漏的影响需要另外控制。振荡小,常荷载公式就有解释力;振荡大,单靠平均荷载无法可靠评估误差。

例子与边界

高频荷载揭示的边界 ​

只用一个单元 (0,1),零边界一次元空间是 Vh={0}。取 fm(x)=sin⁡(2mπx),则

um(x)=sin⁡(2mπx)(2mπ)2,Em=12mπ2,ηm=Vm=12.

于是 ηm/Em=2mπ→∞:本估计量不可能对任意荷载满足一个与 m 无关的无振荡效率界。椭圆方程把高频荷载的响应压小,荷载的 L2 范数却没有随频率下降。

此时 f¯=0、osc=1/2。若先把荷载替换成单元平均值,再把振荡项删掉,甚至会报告零估计量,而真实误差严格为正。这个反例解释了为什么效率定理中的振荡项具有实际内容。

推论与应用

从误差界走向计算决策 ​

η/π≤ε 在本条精确积分、精确求解的模型中足以保证 E≤ε。若采用近似系数 U^,此前的节点插值恒等式一般不再成立,不能不加修改地套用证明。令 r=b−AU^,则到精确离散解的代数误差满足

Ealg2=rTA−1r.

Galerkin 正交还给出总能量误差平方等于离散误差平方与代数误差平方之和。裸残差 ‖r‖2 需要通过逆矩阵或可靠的等价界才能转成这个能量误差。

一旦离散误差占主导,继续求解同一矩阵不会改善网格逼近;应该根据 ηK2 选择单元。下一条的完整加密任务会展示:初始四个单元中,只二分有荷载的那个单元,就能取得均匀二分八个单元的相同能量误差,同时也检验“指标较大”与“局部真误差较大”之间并非逐单元恒等。

参考资料

[1] Ricardo H. Nochetto, Kunibert G. Siebert and Andreas Veeser, Theory of Adaptive Finite Element Methods: An Introduction, 2009,作者讲义,定理 13 与式 (81)–(83),第 80 页;定理 14,第 86 页;推论 9 与注 26,第 88 页。分别讨论残差可靠性、局部效率及数据振荡。本条选定的一维权重和显式常数由正文独立证明。

[2] Ivo Babuška and W. C. Rheinboldt, “Error Estimates for Adaptive Finite Element Computations,” SIAM Journal on Numerical Analysis 15(4), 736–754, 1978,原文。第 3 节以局部化残差组织后验误差估计,是这一思路的早期工作;其问题与网格假设不应直接替代本条的具体证明。

关系图谱13 个相邻概念 · 2 类关系

拖动节点调整位置。

显示关系

显示:依赖

  1. 前置三跳
  2. 前置二跳
  3. 前置一跳
  4. 当前条目
  5. 后续一跳
  6. 后续二跳
  7. 后续三跳
文字版关系按与当前条目的最短距离分组
类型化关系

使用的工具