我有一个描述化学反应的刚性 ODE 的小型系统。右手边相当复杂,雅可比也一样。这个方程将在不同的初始条件下多次求解。鉴于我已经选择了一种面向刚度的方法,创建比某些现有求解器更有效的代码是否真的可行?例如,是否值得尝试通过循环展开或其他方式为我的小型系统优化 LU 分解?
在这个线程中给出了一些一般性的想法,但也许有一些关于刚性 ODE 解决方案的提示?
更新:只有三个方程。我正在使用 Fortran 并比较了 RADAU(隐式 RK)、RODAS(Rosenbrock)和 DLSODE(BDF 方法)代码的效率。RODAS 似乎工作得更快一些。