解出有限元矩阵方程之后,还有一个问题没有回答:这张网格上的折线,距离原来的连续解究竟多远?矩阵残差为零,只说明有限个测试方向上的平衡已经满足;它没有检查单元内部的弯曲,也没有消除折线在节点处的斜率变化。
残差后验估计 从已经得到的离散解和已知荷载出发,为这些缺陷赋予正确的尺度,再把它们变成误差界。与需要未知解正则性范数的先验估计相比,它更适合回答一次具体计算是否足够精细。本条先在一维模型中算出显式常数,再在二维协调三角网格上证明可靠性与局部效率;自适应有限元 公理库 自适应有限元的估计、标记与加密 Adaptive finite element method · AFEM 先复算一维局部加密,再在固定二维Poisson模型中证明估计量缩减、能量正交及加权收缩,并解释误差不变的边界加密例子。 随后用局部指标决定在哪里增加自由度。
形式陈述
固定方程、空间和误差
考虑
于 − u ″ = f 于 ( 0 , 1 ) , u ( 0 ) = u ( 1 ) = 0 , f ∈ L 2 ( 0 , 1 ) . 取任意严格递增划分 0 = x 0 < ⋯ < x N = 1 ,单元 K i = ( x i − 1 , x i ) 的长度为 h i 。V h 是连续分片一次、端点为零的空间。按有限元方法 公理库 有限元方法 Finite element method · FEM · Finite element discretization 从弱形式与帽函数出发,完整构造局部单元、组装并求解小系统,再用能量与逼近解释误差阶和边界处理。 精确计算积分,并精确求解离散系统,所得 u h ∈ V h 满足
∫ 0 1 u h ′ v h ′ d x = ∫ 0 1 f v h d x ( v h ∈ V h ) . 这里讨论的误差是能量误差
e = u − u h , E = ‖ e ′ ‖ L 2 ( 0 , 1 ) , E K = ‖ e ′ ‖ L 2 ( K ) . 零端点条件使导数半范数成为 H 0 1 上的范数。数值积分误差和未完成线性求解造成的误差暂不包括在 E 中;后文会说明怎样区分代数误差。
单元内部与节点处的残差
对任意 v ∈ H 0 1 ( 0 , 1 ) ,定义连续残差泛函
R ( v ) = ∫ 0 1 f v d x − ∫ 0 1 u h ′ v ′ d x . 设 U i = u h ( x i ) ,单元斜率和内部节点跳跃分别为
s i = U i − U i − 1 h i , J i = s i + 1 − s i ( 1 ≤ i < N ) . 逐单元积分得到
R ( v ) = ∑ K ∫ K f v d x + ∑ i = 1 N − 1 J i v ( x i ) . 符号来自相邻端点贡献:左单元给出 − s i v ( x i ) ,右单元给出 + s i + 1 v ( x i ) 。单元内 u h ″ = 0 ,所以强残差 f + u h ″ 就是 f ;但分布意义下的二阶导数还包含节点贡献,不能因为单元内二阶导数为零就略去跳跃。两端的测试函数为零,因此此处没有 Dirichlet 端点跳跃项。
取 v = v h 时 R ( v h ) = 0 ,并不要求上式中的每一项分别为零。对内部帽函数 ϕ i ,更精确的平衡是
J i = − ∫ 0 1 f ϕ i d x . 这也说明 J i 是数值解斜率的跳跃 ,并非荷载 f 本身的跳跃。
本条采用的权重与局部分配
定义
V 2 = ∑ K h K 2 ‖ f ‖ L 2 ( K ) 2 , w i = min ( h i , h i + 1 ) , η 2 = V 2 + ∑ i = 1 N − 1 w i J i 2 . 将一个内部节点的跳跃贡献平均分给左右单元:
η K i 2 = h i 2 ‖ f ‖ L 2 ( K i ) 2 + 1 2 w i − 1 J i − 1 2 + 1 2 w i J i 2 , 其中不存在的端点项直接省略。于是 η 2 = ∑ K η K 2 ,每个 η K 都可由当前解、荷载和网格计算。
这是本条明确选择的一维指标,权重使用相邻长度的较小值,便于在高度不均匀的网格上给出统一常数。多维残差估计也组合单元残差和界面通量跳跃,但界面测度、权重与局部邻域需要重新定义;这里的公式不是把高维面面积机械代成零而得到的特例。[1]
为什么它能控制误差
一个一维特性:离散解等于节点插值
u ∈ H 2 ( 0 , 1 ) ,因此可以定义节点插值 I h u 。任意 v h ∈ V h 的导数在各单元上为常数,而
∫ K ( u − I h u ) ′ d x = 0. 所以 a ( u − I h u , v h ) = 0 。这与Galerkin 正交 公理库 Galerkin 方法 Galerkin method · Galerkin discretization 在有限维试探与检验空间中离散连续变分问题,并用 Galerkin 正交、Céa 准最优性及稳定条件组织误差。 完全相同;离散解唯一,故 u h = I h u 。它不是说整个函数已经精确,而是说 e 在每个单元的两个端点 都为零。在各单元内部,仍有 − e ″ = f 。
这个结论依赖一维、单位扩散系数和协调一次元。它是下述简洁证明的关键,不能直接移植到一般变系数或高维网格。
可靠性:估计量不会漏掉大误差
长度为 h K 的区间上,零端点函数满足 Poincaré 不等式 ‖ e ‖ K ≤ ( h K / π ) ‖ e ′ ‖ K 。局部分部积分后,
E K 2 = ∫ K f e d x ≤ ‖ f ‖ K h K π E K . 约去非零的 E K ,再平方求和,得到
E ≤ V π ≤ η π . 这就是可靠性 公理库 残差、误差估计与停止准则 Residual and error estimation · Stopping criterion 区分可计算残差与未知真误差,并说明把缺陷转成误差界和停止证书所需的条件。 :只要计算假设成立,η / π 是能量误差的上界。对这个特殊模型,仅体积项 V 就足以给出上界;保留跳跃项有助于呈现连续残差的完整结构,并为局部标记提供另一种分配信息。
荷载在每个单元上常值时:可以精确比较
若 f | K = c K ,写局部坐标 t = x − x i − 1 。由 − e ″ = c K 与零端点条件,
e ( t ) = c K 2 t ( h K − t ) , E K 2 = ∫ 0 h K c K 2 ( h K / 2 − t ) 2 d t = c K 2 h K 3 12 . 因此 V 2 = 12 E 2 。帽函数平衡进一步给出
J i = − c i h i + c i + 1 h i + 1 2 . 由 ( a + b ) 2 ≤ 2 ( a 2 + b 2 ) 以及 w i ≤ h i , h i + 1 ,每个节点贡献满足
w i J i 2 ≤ 1 2 ( c i 2 h i 3 + c i + 1 2 h i + 1 3 ) . 一个单元至多被相邻两个节点计入,故 ∑ i w i J i 2 ≤ V 2 。于是
12 E ≤ η ≤ 24 E . 这里“荷载分片常值”必须相对于当前网格 成立。若荷载断点落在单元内部,不能直接套用此精确公式。满足条件时,二分一个单元会把该单元的误差平方从 c K 2 h K 3 / 12 变成原来的 1 / 4 ;其他单元的误差不变。这为一次局部加密提供了可以独立核验的真误差答案。
数据振荡为何不能忽略
把荷载分成平均值与未分辨部分
对一般 f ∈ L 2 ,定义
f ¯ K = 1 h K ∫ K f d x , osc 2 = ∑ K h K 2 ‖ f − f ¯ K ‖ K 2 , V ¯ 2 = ∑ K h K 2 ‖ f ¯ K ‖ K 2 . 正交分解给出 V 2 = V ¯ 2 + osc 2 。单元上再把误差分成 e = e 0 + e d ,其中两个函数都在单元端点为零,分别满足 − e 0 ″ = f ¯ K 和 − e d ″ = f − f ¯ K 。前一项能精确积分,后一项应用刚才的可靠性证明,因此
‖ e 0 ′ ‖ = V ¯ 12 , ‖ e d ′ ‖ ≤ osc π . 这里范数对全部单元求和。由三角不等式及其反向形式,
max ( 0 , V ¯ 12 − osc π ) ≤ E ≤ V ¯ 12 + osc π . 一般效率估计的机制
由 J i = − ∫ f ϕ i 和 ‖ ϕ i ‖ K 2 = h K / 3 ,对两侧分别使用 Cauchy–Schwarz,再用 ( a + b ) 2 ≤ 2 a 2 + 2 b 2 ,得到
w i J i 2 ≤ 2 3 ( h i 2 ‖ f ‖ K i 2 + h i + 1 2 ‖ f ‖ K i + 1 2 ) . 求和后 η ≤ 7 / 3 V 。另一方面,上面的误差分解给出 V ¯ ≤ 12 E + ( 12 / π ) osc 。结合 V ≤ V ¯ + osc ,有
η ≤ 7 3 [ 12 E + ( 1 + 12 π ) osc ] . 常数并不尖锐,但不依赖相邻单元长度比。这是含数据振荡的效率 ,与此前的可靠性方向相反:估计量的偏大受真实误差和未分辨荷载共同限制。[1]
二维三角网格:重新定义指标
固定有界 Lipschitz 多边形区域 Ω ⊂ R 2 和 − Δ u = f 、u | ∂ Ω = 0 ,其中 f ∈ L 2 ( Ω ) 。设 T 是协调且形状正则的三角剖分,u h ∈ V h ⊂ H 0 1 ( Ω ) 是精确求积、精确求解的连续一次有限元解。此处记
h K = | K | 1 / 2 , E = ‖ ∇ ( u − u h ) ‖ L 2 ( Ω ) . h K 是面积开方,在形状正则族上与直径可比;选它是为了在自适应收缩证明 公理库 自适应有限元的估计、标记与加密 Adaptive finite element method · AFEM 先复算一维局部加密,再在固定二维Poisson模型中证明估计量缩减、能量正交及加权收缩,并解释误差不变的边界加密例子。 中精确追踪二分的尺度变化。它与前面一维单元长度分别用于各自的模型。
内部边 e = K ∩ L 两侧的外法向分别为 n K , n L ,定义常数跳跃
J e = − ( ∇ u h | K ⋅ n K + ∇ u h | L ⋅ n L ) . 逐元分部积分与单元内 Δ u h = 0 给出
内 部 R ( v ) = a ( u − u h , v ) = ∑ K ( f , v ) K + ∑ e 内部 ( J e , v ) e . 残差恒等式中的边只计一次。局部指标则按两侧各自尺度分配:
内 部 η K 2 = h K 2 ‖ f ‖ K 2 + h K ∑ e ⊂ ∂ K , e 内部 ‖ J e ‖ e 2 , η 2 = ∑ K η K 2 . 因此全局每条内部边的权重是 h K + h L ,不是 h K ,也没有再乘 1 / 2 。齐次 Dirichlet 边上测试函数迹为零,不加入边界跳跃。
二维可靠性:用平均值代替不可用的节点值
对顶点 z ,令 ω z 为围绕它的三角形星形邻域;ω K 为 K 的三个顶点邻域之并。对 v ∈ H 0 1 ( Ω ) ,定义
为 内 部 顶 点 c z ( v ) = { | ω z | − 1 ∫ ω z v , z 为内部顶点 , 0 , z ∈ ∂ Ω , Q h v = ∑ z c z ( v ) ϕ z ∈ V h . 形状正则性给出统一最小角,因此一个顶点周围的单元数有统一上界;共享边的三角形尺度可比,沿星形邻域的有限链传播后,邻域内各尺度也可比。局部 Poincaré 不等式于是给出
‖ v − c z ( v ) ‖ ω z ≤ C h K ‖ ∇ v ‖ ω z ( z ∈ K ) . 内部顶点取平均值;边界顶点的邻域含一条边界边,v 在该边上的迹为零,使用带零边界片段的同一不等式。这些局部常数只依赖形状界。[1]
置 w = v − Q h v 。包含边界帽函数的分割一致性 ∑ z ϕ z = 1 给出 w | K = ∑ z ∈ K ϕ z ( v − c z ) 。由 0 ≤ ϕ z ≤ 1 、‖ ∇ ϕ z ‖ ≤ C / h K 和上式,
‖ w ‖ K ≤ C h K ‖ ∇ v ‖ ω K , ‖ ∇ w ‖ K ≤ C ‖ ∇ v ‖ ω K . 参考三角形的迹不等式经仿射缩放为
‖ w ‖ e ≤ C ( h K − 1 / 2 ‖ w ‖ K + h K 1 / 2 ‖ ∇ w ‖ K ) ≤ C h K 1 / 2 ‖ ∇ v ‖ ω K . Galerkin 正交使 R ( Q h v ) = 0 。把 R ( v ) = R ( w ) 的体积项以 h K 加权、边项以 ( h K + h L ) 1 / 2 加权,再用 Cauchy–Schwarz,得到
| R ( v ) | ≤ C η ( ∑ K ‖ ∇ v ‖ ω K 2 ) 1 / 2 ≤ C η ‖ ∇ v ‖ . 最后一步用的是这些扩大邻域的有界重叠数 ,而不是声称它们互不相交。取 v = u − u h ,约去非零误差,便有
E 2 ≤ C rel η 2 . C rel > 0 对同一形状正则网格族统一。这里没有得到一维的 1 / π 常数,也没有假设二维弱解在节点上精确或属于全局 H 2 。
二维局部效率:两种泡函数把残差测回来
令 f ¯ K = | K | − 1 ∫ K f ,osc K = h K ‖ f − f ¯ K ‖ K 。三角形重心坐标为 λ 0 , λ 1 , λ 2 ,取单元泡函数
b K = 27 λ 0 λ 1 λ 2 , v K = f ¯ K b K . 它在整个 ∂ K 上为零。参考元积分和缩放给出
∫ K b K = 9 20 | K | , ‖ v K ‖ K ≤ C ‖ f ¯ K ‖ K , ‖ ∇ v K ‖ K ≤ C h K − 1 ‖ f ¯ K ‖ K . 把 v K 零延拓到全域,边残差全部消失,因此
9 20 ‖ f ¯ K ‖ K 2 = ( ∇ ( u − u h ) , ∇ v K ) K − ( f − f ¯ K , v K ) K . 使用上述范数界,约去非零 ‖ f ¯ K ‖ K 并乘 h K ,再用 ‖ f ‖ K ≤ ‖ f ¯ K ‖ K + ‖ f − f ¯ K ‖ K ,可得
h K ‖ f ‖ K ≤ C ( ‖ ∇ ( u − u h ) ‖ K + osc K ) . 若平均值为零,结论直接由振荡项成立,无需约分。
对内部边 e = [ a , b ] ,令 ω e = K ∪ L ,在两个三角形上分别取 b e = 4 λ a λ b 。两侧在公共边的迹相同,且在补片外边界为零,故 v e = J e b e 零延拓后仍属于 H 0 1 ( Ω ) 。这里 J e 为常数,
∫ e b e = 2 3 | e | , ‖ v e ‖ ω e ≤ C | e | 1 / 2 ‖ J e ‖ e , ‖ ∇ v e ‖ ω e ≤ C | e | − 1 / 2 ‖ J e ‖ e . 残差恒等式只留下这条边:
2 3 ‖ J e ‖ e 2 = ( ∇ ( u − u h ) , ∇ v e ) ω e − ( f , v e ) ω e . 约去跳跃范数并乘 | e | 1 / 2 ,得边项受补片能量误差和 | e | ‖ f ‖ ω e 控制。再对 K , L 使用刚才的体积估计及 | e | ≍ h K ≍ h L 。令 ω K edge 为 K 与共享边邻居之并,即得到
η K 2 ≤ C ∑ L ⊂ ω K edge ( ‖ ∇ ( u − u h ) ‖ L 2 + osc L 2 ) . 有界重叠又给出全局 η 2 ≤ C ( E 2 + osc 2 ) 。这说明局部指标为什么有误差含义,也说明它必须容许邻居贡献和未分辨荷载;可靠性与效率并不是同一个不等式的不同名称。
直觉
可靠性不声称 η 等于 E ,也不声称每个 η K 与 E K 成固定比例。相邻单元会共享跳跃贡献,所以真实误差为零的单元也可能收到正指标。
这不是说振荡就是误差,而是说用单元平均值代替原荷载时,遗漏的影响需要另外控制。振荡小,常荷载公式就有解释力;振荡大,单靠平均荷载无法可靠评估误差。
例子与边界
高频荷载揭示的边界
只用一个单元 ( 0 , 1 ) ,零边界一次元空间是 V h = { 0 } 。取 f m ( x ) = sin ( 2 m π x ) ,则
u m ( x ) = sin ( 2 m π x ) ( 2 m π ) 2 , E m = 1 2 m π 2 , η m = V m = 1 2 . 于是 η m / E m = 2 m π → ∞ :本估计量不可能对任意荷载满足一个与 m 无关的无振荡效率界。椭圆方程把高频荷载的响应压小,荷载的 L 2 范数却没有随频率下降。
此时 f ¯ = 0 、osc = 1 / 2 。若先把荷载替换成单元平均值,再把振荡项删掉,甚至会报告零估计量,而真实误差严格为正。这个反例解释了为什么效率定理中的振荡项具有实际内容。
四个三角形上的完整二维账本
取单位正方形、f = 1 ,把中心 c = ( 1 / 2 , 1 / 2 ) 连到四个角,得到四个面积 1 / 4 的三角形。全部边界节点置零,唯一内部帽函数为 ϕ c ;它在下、右、上、左单元的梯度依次为 ( 0 , 2 ) , ( − 2 , 0 ) , ( 0 , − 2 ) , ( 2 , 0 ) 。因此
a ( ϕ c , ϕ c ) = 4 ⋅ 1 4 ⋅ 4 = 4 , ( 1 , ϕ c ) = 4 ⋅ | K | 3 = 1 3 , u h = 1 12 ϕ c . 离散解梯度依次为 ( 0 , 1 / 6 ) , ( − 1 / 6 , 0 ) , ( 0 , − 1 / 6 ) , ( 1 / 6 , 0 ) 。四条内部边长度都是 1 / 2 ;用两侧外法向计算,每条跳跃的绝对值为 1 / ( 3 2 ) ,故
‖ J e ‖ e 2 = 1 18 2 , h K = 1 2 . 全局体积项是 4 ( 1 / 4 ) ( 1 / 4 ) = 1 / 4 ,每条边的两侧权重之和是 1 。所以
η 2 = 1 4 + 2 9 , η K 2 = 1 16 + 2 36 , osc = 0. 这是真正求解了一个非零的一次元方程;若只把正方形沿对角线切成两个三角形,所有顶点都在零边界上,离散空间反而只有零函数。即使本例振荡为零,η 也只是与误差等价的指标,不是已计算出的精确误差。
图片加载失败 图右将每个单元从中心连到其边界边中点,只有边界节点增加。AFEM 的二维算例 公理库 自适应有限元的估计、标记与加密 Adaptive finite element method · AFEM 先复算一维局部加密,再在固定二维Poisson模型中证明估计量缩减、能量正交及加权收缩,并解释误差不变的边界加密例子。 继续计算此时的 17 / 72 ,解释能量误差不变而估计量下降如何与加权收缩相容。
推论与应用
从误差界走向计算决策
η / π ≤ ε 在本条的一维精确积分、精确求解模型中足以保证 E ≤ ε ;二维模型已证明的充分条件是 C rel η ≤ ε ,需使用该网格族的可靠性常数。若在一维模型中采用近似系数 U ^ ,此前的节点插值恒等式一般不再成立,不能不加修改地套用证明。令 r = b − A U ^ ,则到精确离散解的代数误差满足
E alg 2 = r T A − 1 r . Galerkin 正交还给出总能量误差平方等于离散误差平方与代数误差平方之和。裸残差 ‖ r ‖ 2 需要通过逆矩阵或可靠的等价界才能转成这个能量误差。
一旦离散误差占主导,继续求解同一矩阵不会改善网格逼近;应该根据 η K 2 选择单元。下一条的完整加密任务 公理库 自适应有限元的估计、标记与加密 Adaptive finite element method · AFEM 先复算一维局部加密,再在固定二维Poisson模型中证明估计量缩减、能量正交及加权收缩,并解释误差不变的边界加密例子。 会展示:初始四个单元中,只二分有荷载的那个单元,就能取得均匀二分八个单元的相同能量误差,同时也检验“指标较大”与“局部真误差较大”之间并非逐单元恒等。
参考资料
[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 页。分别讨论残差可靠性、局部效率及数据振荡。二维证明还使用第77–79页的迹/星形邻域Poincaré估计及第82–84页的泡函数构造;本条展开单位扩散、一次元的特例。一维权重、显式常数及二维数值账本由正文独立计算。
[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 节以局部化残差组织后验误差估计,是这一思路的早期工作;其问题与网格假设不应直接替代本条的具体证明。