4. 验证度量与误差评估

在材料仿真中,验证(verification)回答的核心问题是:数值解是否随着离散化细化而趋近于所求解的数学模型。要回答这个问题,不能只看某一次计算的“结果是否合理”,而必须用可量化的度量把误差表达出来,并观察它随网格、时间步或迭代次数的变化趋势。本节围绕四类最常用的度量展开:误差范数、相对误差、收敛性指标与网格收敛指数(GCI),并说明它们在材料仿真中的适用边界。

一、误差范数:把“误差场”压缩成一个数

仿真结果通常是一个场量,例如位移场 u(x)、应力场 σ(x) 或温度场 T(x)。误差也是场,直接比较两个场并不方便,因此需要范数把它压缩为标量。设精确解或参考解为 u_ref,数值解为 u_h,误差 e = u_h − u_ref。常用范数包括:

  • L∞ 范数:||e||∞ = max|e|,反映最大局部偏差,适合关注应力集中、裂纹尖端等最危险位置。
  • L2 范数:||e||₂ = (∫ e² dΩ)^(1/2),反映整体能量型偏差,适合位移、温度等全场量。
  • 能量范数:||e||_E = (∫ ε(e)ᵀ D ε(e) dΩ)^(1/2),与有限元能量误差直接对应,是收敛性分析中最自然的度量。

在材料仿真中,选择哪种范数取决于关注对象。若研究的是均质化弹性模量的整体精度,L2 或能量范数更合适;若研究的是界面脱粘、孔洞边缘的应力集中,L∞ 范数更能暴露局部失准。需要注意,L∞ 范数对网格局部质量非常敏感,单点异常就可能主导整个指标,因此通常与 L2 范数配合使用。

二、相对误差:消除量纲与量级影响

绝对误差范数带有物理量纲,不同材料、不同载荷下不可直接比较。相对误差把误差归一化:

相对 L2 误差:  η₂ = ||u_h − u_ref||₂ / ||u_ref||₂
相对能量误差:  η_E = ||e||_E / ||u_ref||_E
标量相对误差:  η_q = |q_h − q_ref| / |q_ref|

其中 q 可以是等效弹性模量、屈服强度反演值、热导率等标量输出。材料仿真中常见的做法是:对关心的标量输出(如均质化模量 E_eff)计算相对误差,对场量计算相对 L2 误差。一般工程验证中,若相对误差已降至 1%~2% 以下,且随网格细化不再显著下降,可认为离散误差已进入可接受区间。但这一阈值不是绝对的,取决于材料参数不确定度、实验可比性和应用场景。

三、收敛性指标:观察误差随离散化的下降速率

收敛性指标描述误差随网格尺寸 h 或自由度 N 的变化规律。对 p 阶单元,若解足够光滑,误差满足:

||e|| ≤ C · h^p        或        ||e|| ≤ C · N^(−p/d)

其中 d 为空间维数。实际中通过两组或多组网格结果估计观测收敛阶:

p_obs = ln(||e₂|| / ||e₁||) / ln(h₂ / h₁)

若 p_obs 接近理论阶次,说明解处于渐近收敛区,网格细化有效;若 p_obs 明显偏低,往往意味着存在应力奇异、材料界面处理不当、接触非线性未收敛或网格畸变等问题。对材料仿真而言,多相材料界面、裂纹尖端和塑性局部化区域最容易出现收敛阶下降,此时应优先检查局部网格与材料本构的匹配性,而不是盲目全局加密。

材料仿真验证度量与 GCI 评估流程 输入与参考 材料参数 E, ν, σ_y 载荷与边界条件 参考解 / 解析解 / 富网格解 关注输出 q(E_eff 等) 网格序列 h₁ 粗网格 N₁ h₂ 中网格 N₂ ≈ 2N₁ h₃ 细网格 N₃ ≈ 4N₁ 细化比 r = h₁/h₂ = h₂/h₃ 建议 r ≥ 1.3,常用 r = 2 误差度量计算 L∞ 范数:max|u_h − u_ref| L2 范数:||u_h − u_ref||₂ 相对误差 η = ||e|| / ||u_ref|| 标量 η_q = |q_h − q_ref|/|q_ref| 观测收敛阶 p_obs = ln(e₂/e₁)/ln(h₂/h₁) GCI 计算 GCI = Fs·|e|/(r^p − 1) 收敛性判断 p_obs ≈ p_theory → 渐近收敛区 p_obs 偏低 → 奇异/界面/非线性问题 η 随网格下降并趋于平台 → 可接受 η 不降或振荡 → 检查网格与模型 GCI 与适用性 GCI 给出细网格解的误差区间 u_exact ≈ u_fine ± GCI·u_fine 适用:光滑解、单调收敛、r 固定 慎用:强非线性、接触、裂纹、多尺度 材料仿真中典型验证输出与判据示例 • 均质化弹性模量 E_eff:η_q < 1% 且随网格稳定 • 界面应力场:L2 相对误差 < 2%,L∞ 关注局部峰值 • 塑性局部化:p_obs 可能低于理论阶,需结合 GCI 谨慎解释 • 热-力耦合:分别对 T 场与 u 场做范数评估 • 多尺度 RVE:关注统计代表性体积的收敛 • 报告:记录网格、范数、η、p_obs、GCI

四、网格收敛指数 GCI:给出误差区间的工程做法

GCI(Grid Convergence Index)由 Roache 提出,用于把网格收敛研究转化为一个可报告的误差区间。其基本假设是:解处于渐近收敛区,误差按 e = C h^p 单调下降,且细化比 r 固定。计算步骤为:

  1. 用至少三套网格(粗、中、细)计算同一关注量 q,得到 q₁, q₂, q₃,对应网格尺寸 h₁ > h₂ > h₃。
  2. 计算细化比 r₂₁ = h₂/h₁、r₃₂ = h₃/h₂,通常取相同值 r。
  3. 用三点或两点公式估计观测阶 p,例如 p = ln((q₃−q₂)/(q₂−q₁)) / ln(r)。
  4. 计算细网格相对误差 e₃₂ = |(q₃−q₂)/q₃|。
  5. 取安全因子 F_s(三点法常用 1.25,两点法常用 3.0),得到 GCI₃₂ = F_s · e₃₂ / (r^p − 1)。

最终可报告:q ≈ q₃ ± GCI₃₂ · q₃。例如某均质化算例中,三套网格得到 E_eff 分别为 102.4、101.1、100.6 GPa,r = 2,由两点法估计 p ≈ 1.8,则 e₃₂ ≈ 0.5%,取 F_s = 1.25,GCI₃₂ ≈ 1.25 × 0.005 / (2^1.8 − 1) ≈ 0.7%。这意味着细网格结果约在 ±0.7% 的离散误差区间内。该数值为教学示例,实际算例需按真实网格与结果计算。

五、在材料仿真中的适用性与注意事项

GCI 和收敛阶估计的前提是解足够光滑、误差单调下降、网格细化比明确。材料仿真中以下情形需要特别谨慎:

  • 裂纹尖端与界面角点:应力存在奇异性,理论收敛阶不再成立,p_obs 会偏低,GCI 可能高估或低估误差。此时应改用局部细化、奇异单元或扩展有限元,并单独报告局部量。
  • 弹塑性局部化:塑性应变集中区随网格变化,q 可能不单调收敛,GCI 的单调性假设被破坏,应结合正则化方法或非局部模型。
  • 接触与非线性:接触状态切换、迭代容差和载荷步会影响结果,需先确认每个网格下计算均已收敛,再比较离散误差。
  • 多尺度与随机材料:RVE 尺寸、夹杂分布和材料参数随机性会引入额外不确定度,GCI 只覆盖离散误差,不能替代对模型形式误差和参数不确定度的评估。
实用建议:在材料仿真验证报告中,至少记录网格尺寸、单元类型与阶次、关注量 q、范数类型、相对误差 η、观测阶 p_obs、安全因子 F_s 与 GCI 值。若 p_obs 与理论阶偏差超过约 20%,应先排查奇异、界面或非线性问题,再决定是否采用 GCI 结论。

总结来看,误差范数回答“误差有多大”,相对误差回答“相对量级是否可接受”,收敛性指标回答“误差是否按预期速率下降”,GCI 则把三者整合为一个可报告的误差区间。四者配合使用,才能让材料仿真的验证结论既有物理意义,又有可复现的量化依据。