稀疏直接求解器

在有限元模拟中,Simcenter STAR-CCM+ 使用直接求解器对线性方程组求解。

可用的直接求解器是 MUMPS [955] 和混合 MUMPS。请参见稀疏直接求解器参考。

离散化过程会产生以下形式的线性代数方程组:

T [ x ] = r
(4978)

其中, T 为线性系统的系数的稀疏矩阵(也称为相切矩阵), x 为未知量, r 为残差。残差矢量、未知矢量和相切矩阵的尺寸取决于自由度总数。在每次求解器迭代时,Simcenter STAR-CCM+ 都为未知量 x 求解 Eqn. (4978)。

一般情况下,用于稀疏矩阵的直接求解器通过四个步骤求解线性方程组:
  • 排序步骤 — 求解器对稀疏矩阵的行和列重新排序,以优化矩阵结构进行求解。
  • 分析步骤 — 求解器执行预因式分解步骤。
  • 因式分解步骤 — 求解器计算将方程组表示为矩阵积的因子。
  • 求解步骤 — 求解器替换系数,并对方程进行求解。

误差分析

MUMPS 误差分析可计算缩放残差,该残差一般分量形式定义为:
ω i = | b − T x ¯ | i ( | b | + | T | | x ¯ | ) i
(4979)

其中 x ¯ 为计算的解。

在异常情况下,当一般定义 (Eqn. (4979)) 的分子不为零且分母较小时,定义将扩展为:
ω i = | b − T x ¯ | i ( | T | | x ¯ | ) i + ‖ T i ‖ ∞ ‖ x ¯ ‖ ∞
(4980)
如果一般定义 (Eqn. (4979)) 适用,则 Eqn. (4980) 为零。则缩放残差的无穷范数为:
ω = ‖ T x ¯ − b ‖ ∞ ‖ T ‖ ∞ ‖ x ¯ ‖ ∞
(4981)
MUMPS 误差分析估计线性系统的条件数 (Eqn. (4982))。可以使用以下关系找该数:
κ = max ⁡ ( κ 1 , κ 2 )
(4982)

其中 κ 1 和 κ 2 是线性系统条件数的估计值。

要从线性系统条件数中找到矩阵条件数,需要线性系统条件数的一半为上限:
κ T ( T ) ≥ 0.5 κ | T | | b | ( T , b )  
(4983)
最后,要计算前向误差的上限,系统会对条件数和分量缩放残差进行组合:
‖ δ x ‖ ∞ ‖ x ‖ ∞ ≤ ω 1 κ 1 + ω 2 κ 2
(4984)