C中的LSODA ODE求解器

时间:2015-01-21 18:36:26

标签: c fortran ode

我正在使用http://lh3lh3.users.sourceforge.net/solveode.shtml的C版LSODA 这是从FORTRAN翻译的。

我的问题是它似乎不支持用户提供的Jacobian。代码中缺少jac lsoda()的参数,(但在可能复制的文档中没有)。

是否有用C语言编写的lsoda的其他版本允许用户提供的雅可比?

由于

2 个答案:

答案 0 :(得分:0)

您可以使用两个主要选项:使用CVODES日历包,或使用Fortran的iso C binding功能在C函数周围编写包装。

答案 1 :(得分:0)

Here's a version of LSODA written in C。我正在使用求解器实现由40个ODE组成的心脏电生理模型,并与CVODE进行了比较。在我的情况下,在刚性和非刚性求解器之间自动切换的功能使LSODA比CVODE更受青睐。由于性能令人满意,因此无需定义用户-Jacobin。 An example of models that I am using can be found here: