如何为使用 FEM 创建的线性方程组创建一个良好的预条件子,该 FEM 应用于时间损害麦克斯韦方程组?

计算科学 有限元 电磁学 特里诺斯
2021-12-03 02:48:47

我开始以数值方式求解时间谐波麦克斯韦方程,该方程使用 FEM 进行离散化,并使用 Nedelec 元素作为基础和测试函数。方程式如下:

××Ek02E=0Ω
受限于边界条件
n×E=0ΓD
n××E=αn×n×E+gΓN
在域的不同部分。ko是一个实数并且αg很复杂。写作E=Ereal+iEimag,我们可以将电场分量分解为实部和虚部,并应用 FEM 程序,我们可以得到以下系统:
×v.×Erealk02v.Erealα×v.×Eimag=0α×v.×Ereal×v.×Eimagk02v.Eimag=vg
上面的系统导致了一个 2x2 块矩阵,如果没有好的预处理器,它很难收敛。我正在使用 dealii 构建矩阵并使用 trilinos 作为我的线性代数求解器

2个回答

作为序言,我不希望分裂E进入实部/虚部是非常有利可图的。通常,块 2x2 系统是有动机的,因为在某种意义上,一个未知块比另一个块“更容易”解决(条件更好?基数更小?等等)。时谐麦克斯韦不是这种情况,我认为你最好留在复杂的领域。如果你不能这样做(也许这些框架不支持复变量?),下一个最好的事情可能是“交错”实部和虚部,并使用具有两个自由度(1 个实部)的点状预条件子, 1 imag) 每点。我希望这与开始在复杂领域工作的效果相同。

综上所述,此时您可能会尝试的许多经典预处理器(平滑、不完全分解、多重网格)对时谐麦克斯韦不是很有效,因为它与(坏)亥姆霍兹方程具有基本相同的光谱特性:无限的频谱,无限的,本质上是振荡的。可以在这里找到对这些问题的出色调查,您基本上可以将相同的论点应用于时谐麦克斯韦。

事实上,麦克斯韦在两个方面甚至更加困难。次要的方法是因为它是矢量值的,因此比同等大小和波数的亥姆霍兹问题有更多的未知数。主要的方法是麦克斯韦的××算子比亥姆霍兹的更复杂运算符,因为存在无限维零空间。亥姆霍兹梯度算子有一个一维零空间(由常数函数跨越1),但 Maxwell 的 curl 算子具有无限维零空间(由标量函数的梯度跨越f)。许多预处理方案依赖于“粗化”问题(在多网格意义上),亥姆霍兹方程喜欢它的零空间(常数函数)可以在任意粗略的网格上无误差地近似。相反,当您在精细网格上离散麦克斯韦方程时,离散算子的零空间将无法在较粗的网格上精确表示,因此您的交换操作(限制/延长)必须更加仔细地构造(否则您可能在一个网格上取完全为零的特征分量并将它们映射到另一个网格上接近但不完全为零的特征分量,这会破坏收敛.. 请参阅此处进行一些讨论)。

在不那么悲观的情况下,用于低/中波数时谐 Maxwell 的可靠 FE 求解器是您随身携带的绝佳工具,因为它可以很容易地与高波数方法(模态展开、积分方程、渐近法、等)但弥补了它们的不足(与 FE 不同,这些方法通常仅适用于均质介质)。沿着这些思路,我最成功地用于迭代求解麦克斯韦方程的两种方法是 (i) p-multiplicative-schwarz (pMUS) 和 (ii) 域分解 (DDM)。

前者(pMUS)基本上是多重网格,但以多项式顺序(p)而不是网格大小(h)应用。基本思想是使用低阶 p=0 解来预处理高阶 p=(0+1+...) 解。它很容易实现,但需要一些公式级别的工作来将您的 (Nedelec) 基函数制成表格,以便它们分离 curl 运算符的零空间/范围,如前所述(有关此类的良好代表,请参阅本文方法)。

后者(DDM)基本上是一种类似通缩的方案,其中您将空间划分为非重叠域,消除/子结构内部未知数,然后解决由此产生的仅界面问题以重新建立正确的场连续性/全局解决方案. 已经对应该用于终止子域并将它们重新匹配在一起的正确类型的“传输条件”进行了很多思考,麦克斯韦的大部分工作都改编自亥姆霍兹方程的类似工作。请参阅此处了解有关亥姆霍兹开创性工作,以及了解其演变为麦克斯韦的情况。

稀疏近似逆 (SAI) 和不完全 LU 分解 (ILU) 是预处理大型稀疏矩阵方程的迭代解的标准方法。有关详细信息,请参阅https://www5.in.tum.de/lehre/vorlesungen/parnum/WS10/PARNUM_10.pdf 。