我正在尝试使用Assimulo包来求解一组微分代数方程(DAE)。我正在尝试使用类似于该shown here的算法。但是,似乎没有传递稀疏矩阵的选项。我的雅可比矩阵非常大,大约是3000 x 3000。您是否知道是否有一种方法可以在计算上更高效地解决我的DAE?
发布于 2021-02-06 03:53:40
在我使用稀疏常微分方程系统(更准确地说,使用半离散PDE系统)的经验中,使用迭代线性求解器可以极大地提高数值效率。据我所知,Assimulo不允许提供雅可比稀疏模式,但更改线性求解器是解决此问题的另一种方法。
你可以这样做:
model = Explicit_Problem(ode_function, y0=y_init, t0=t_init)
simulator = CVode(model)
sim.linear_solver = 'SPGMR'我不确定这是否也适用于DAE系统,但我认为值得一试。
https://stackoverflow.com/questions/63694335
复制相似问题