考虑一个问题,其中空间充满液体和固相,具有大而复杂的几何形状。在每个相位上,都有一个电位/泊松方程。这些方程由通过相界的非线性表面电流耦合。
目前,为这两个阶段构建了一个 FEM,并将其组装成一个大的雅可比矩阵,然后在牛顿方法中将其作为黑盒求解。这会导致不良的矩阵条件和不良的性能。
为了提高性能,我计划使用 PETSc。对于多物理问题,他们建议使用嵌套矩阵,然后为每个方程使用单独的预条件器。但是,对于迄今为止我发现的所有示例,有一个很大的区别:这些示例总是考虑一个相位上的不同物理方程,这些方程在空间中的所有点上都耦合。在我的例子中,我每相只有一个方程,但耦合只在相的边界上,并且是非线性的。
您将如何处理 PETSc 中的此类问题?(强调矩阵、求解器和预处理器的组合。)