我在 MATLAB 中为 3D 泊松方程实现了 FEM 求解器,对拉普拉斯算子使用六面体和稀疏矩阵。我使用的是反斜杠,但现在我必须使用一些迭代方法(例如带有ilu的 GMRES)。和,和(一般来说,) 作为元素的数量(50、100 和 200 作为测试用例)我有一些问题。为了它需要超过使用带有不完整LU预处理器的cgs秒。为了它需要超过 60 分钟,并且仍在运行。我没有设置公差或最大迭代次数,因为它似乎不会影响计时问题。这是可能的还是不应该花那么长时间?有没有办法加快速度?
这是代码:
[L,U] = ilu(Kb);
[u_h,flag,relres,iter,resvec] = cgs(Kb,fb,[],[],L,U);
其中Kb是拉普拉斯算子,fb是右手边。
谢谢你。