如何激发Krylov加速的Multigrid(使用MG作为前提条件)?


13

通过构造初始猜测值并对重复以下步骤,直到收敛为止,可以使用Multigrid(MG)求解线性系统:X 0= 0 1 ..Ax=bx0i=0,1..

  1. 计算残差ri=bAxi
  2. 应用多重网格周期以获得近似值,其中。é = - [R ΔxieiAei=ri
  3. 更新xi+1xi+Δxi

多重网格周期是应用于以产生的平滑,内插,约束和精确的粗网格求解操作的序列。这通常是一个V周期或W周期。这是一个线性运算,因此我们写成。 Δ X Δ X = ř riΔxiΔxi=Bri

可以将这一过程解释为预处理的Richardson迭代。也就是说,我们更新。xi+1xi+Bri

Richardson迭代是一种典型的Krylov子空间方法,建议使用多重网格循环对其他Krylov子空间方法进行预处理。有时将其称为使用Krylov方法的“加速”多重网格,或者可以将其视为选择Krylov方法的前提条件。

扩展上述算法的另一种方法是采用完全多重网格(FMG)。简要说明请参见此答案

在什么情况下,Krylov加速的MG优于MG或FMG?


2
(F)MG非常敏感,如果一种模式无法通过较平滑的或两级校正适当地衰减,则整个过程将停止。克雷洛夫方法可能有助于抑制这些有问题的模式。据我所知,它主要是由健壮性驱动的。
克里斯,2015年

Answers:


10

在某些情况下,(F)MG提供具有最佳属性的算法。例如,经过适当调整的FMG可以解决少量“工作单元”中的一些椭圆问题,其中将工作单元定义为表达问题本身所需的计算工作量-在这种情况下,形成残差最好的网格上的。这是一种高效的算法(因此难以克服),它是HPC基准的基础,该基准旨在测量超级计算机解决现实物理问题(HPGMG)的最大能力。如果可以使用这种方法,则建议使用该方法。bAx

但是,在许多实际情况下,没有使用最佳或有效的多重网格方法。这可能是因为

  • 对于给定的问题,这种方法是未知的或不可用的
  • 平滑器和网格间的运算符不足以使教科书趋同
  • 粗网格求解器不精确

在这些情况下,解决方案可能会因误差而降低,而误差不会因多网格循环而降低。但是,如果此错误包含在低维子空间中,则Krylov方法可以通过少量迭代来解决此错误,从而在不完善的多重网格求解之后“清除”。也就是说,如果具有少量外在特征值,则Krylov方法应该能够捕获相应的特征空间。BA

请注意,选择使用次优方法可能会导致“更便宜”的多重网格循环,以至于Krylov加速得到回报。也就是说,可能存在问题(和计算系统),其中Krylov加速的MG可能胜过MG。我想找到一个具体的例子。

(感谢上面的@chris和Matt Knepley在教程中提到了上面的一些内容)

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.