我正在寻找在并行系统上实现 DG 的最佳方法。在我的研究中,我遇到了两种类型的问题。
对于第一个问题,我正在解决一个与时间无关的(稳态)边值问题。我最终得到刚度矩阵乘以我的未知数向量等于体积积分源函数的向量。在这种情况下,在我看来,我必须将系统作为一个整体来求解,因为表面通量隐含在相邻解中。
对于第二个问题,我正在解决一个与时间相关的初始值问题。在应用显式时间离散化方案后,我最终得到了质量矩阵,我必须将其反转并乘以刚度矩阵的向量乘以前一个时间步的解向量加上我的体积积分源项。在这种情况下,在我看来,我不必将系统作为一个整体来求解,因为上一个时间步的表面通量是已知的,并且可以根据需要传递给每个本地系统。
我目前在全球范围内解决这两种情况。相反,是否可以在每个单元上本地解决这两种情况?对我来说,这似乎极大地提高了并行效率(通过域分解),而不是尝试解决全局系统(尽管可以使用 Trilinos 或其他库来实现一些并行性来执行稀疏矩阵运算)。
谢谢!