【问题标题】:Python: How to solve DAE with Jacobian efficiently?Python:如何用雅可比行有效地解决 DAE?
【发布时间】:2020-09-01 19:38:04
【问题描述】:

我正在尝试使用 Assimulo 包来求解一组微分代数方程 (DAE)。我正在尝试使用类似于shown here 的算法。但是,似乎没有传递稀疏矩阵的选项。我的雅可比矩阵非常大,大约 3000 x 3000。你知道是否有一种方法可以更高效地解决我的 DAE 问题?

【问题讨论】:

    标签: matrix differential-equations jmodelica sundials assimulo


    【解决方案1】:

    根据我对稀疏 ODE 系统(更准确地说是半离散 PDE 系统)的经验,使用迭代线性求解器可以大大提高数值效率。据我所知,Assimulo 不允许提供雅可比稀疏模式,但更改线性求解器是解决此问题的另一种方法。

    你会做这样的事情:

    model = Explicit_Problem(ode_function, y0=y_init, t0=t_init)
    simulator = CVode(model)
    sim.linear_solver = 'SPGMR'
    

    我不确定这是否也适用于 DAE 系统,但我认为值得一试。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-07-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-08-05
      相关资源
      最近更新 更多