我的问题:
我现在解一个非线性方程
\frac{{\partial T}}{{\partial t}} = \frac{\partial }{{\partial x}}\left( {k_x\frac{{\partial T}}{{\partial x}}} \right) + \frac{\partial }{{\partial y}}\left( {k_y\frac{{\partial T}}{{\partial y}}} \right) + s
用有限元方法,可以得到
M\dot{T} = K T + S
这里,M是质量矩阵,K是刚度矩阵,S是源项
在解上面的常微分方程组时,刚度矩阵 K 是随时间改变的。
我用了 EIGEN 的稀疏矩阵。(不得不用稀疏矩阵,因为求解的规模很大)
我遇到的麻烦是:
如果将刚度矩阵 K 定义为一个全局变量(稀疏矩阵),那么当重新改写这个矩阵时,程序会报错;如果将刚度矩阵 K 定义为局部变量,发现计算非常慢,因为要反复重新开辟内存。
请教高手,我该怎么办?
--
FROM 61.136.151.*