我正在解决以下形式的问题:
∂u ( x , y, t )∂吨=∇2u ( x , y, t ) - f( x , y, t ) u ( x , y, t ) - κ ( x , y, t )
目前,我在每个时间步都通过假设准稳态来解决这个问题:
∇2u(x,y,t)=f(x,y,t)u(x,y,t)+κ(x,y,t)
为此,我使用有限差分,这意味着在每个时间步解决以下问题(暂时忘记边界条件,但作为参考,它们是 Neumann):
uti,j+1+uti+1,j+uti,j−1+uti−1,j−4uti,jh2=fti,juti,j+κti,j
这意味着我必须解决以下形式的线性系统:
Ax=b
其中是由拉普拉斯算子和项组成的矩阵。对于我的 100x100 系统(导致大小为 10000x10000 的拉普拉斯算子),使用 Eigen 的 C++ 库求解器:SimplicialLLT,每个时间步大约需要 0.4 秒。但是,我想以任何可能的方式加快解决速度。问题是我可以做的预处理有限,因为矩阵每个时间步都会发生变化。Afti,juti,jA
有没有人有任何想法?有限元、谱方法、非稳态近似都受到欢迎。
在任何人问之前,术语和无法提前预测,因为它们取决于。因此,我认为并行化是不可能的。fti,jκti,jut−1i,j
最好的,
本