推荐固定步长 ODE 求解器?

计算科学 量子力学 软件推荐
2021-11-30 15:39:22

我的问题涉及具有固定步长(输入和输出)的二阶 ODE 的解决方案。具体来说,这个 ODE 是球对称势的狄拉克和薛定谔方程的径向部分。

例如,这是径向部分薛定谔方程的 ODE:

(d2dr2+2rddrl(l+1)r2)R(r)+V(r)P(r)=ER(r)

或代入 R(r) = P(r)*r:

(d2dr2l(l+1)r2)P(r)+V(r)P(r)=EP(r)

V(r)是在固定网格上定义的,这就是为什么我需要一个固定步长求解器。E,l是数字预定义值。r可以在从[0,], 但通常只有在一定程度上才有趣rmax. 初始条件是P(0)=0P(0)=0.

常用的求解器是多步法,如 Adams-Bashfort 或外推法,如 GBS 法。我已经有一些完全使用上述方法的实现,这些方法是专门为处理这个特定问题而创建的。

为了比较,我正在寻找一个软件包或库,它实现了一些改进的固定步长求解器。

是否有包含通用固定步长 ODE 求解器的库?

1个回答

我认为Julia 中的DifferentialEquations.jl有一套非常全面的 ODE 求解器,包括您提到的那些(Adams-Bashfort 和 GBS)以及许多其他求解器。这个 Julia 库现在变得越来越流行,有据可查,并且在这里有相当多的报道。


注意:Chris Rackauckas是该项目的核心贡献者,并且在 Computational Science SE 上非常活跃,如果出现这些问题,他应该能够回答非常深入的问题。