问题标签 [sundials]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
443 浏览

matlab - 在 Matlab 2014a 中编译 mex 失败

我试图在 Windows 7(64 位)机器上编译 Matlab 2014a 中的 .c 文件。编译器是一个 Mingw-w64 gcc:

然后它给了我一些错误:

首先,我很确定“sundials_nvecserial.lib”和“sundials_cvode.lib”在“C:/sundials/lib/”文件夹下,在 -L 选项后的命令中指示。

其次,我知道我的机器中没有 libm.lib。我需要该选项,因为 .c 文件“#include”。虽然我没有使用它,但我安装了 Visual Studio。我可以在其中找到“math.h”但找不到“libm.lib”。所以我想问题是,如何调整/避免 Windows 机器上的“-lm”选项。

先感谢您,

约翰

0 投票
0 回答
293 浏览

c - 使用 C 和 MATLAB 求解刚性常微分方程

我有 2*m+3 个STIFF常微分方程要求解。我尝试使用 MATLAB ode15s for m=1 解决它,它工作正常。但我想使用 Sundials 包 CVODE 来求解方程。在尝试这样做时,我使用了“向后微分公式”和牛顿迭代。我不提供雅可比并允许以数字方式计算它。但它不起作用并显示错误:

  1. 我相信 CVODE 使用与 ode15s 相同的反向微分。那为什么它不起作用?
  2. 我应该尝试在 CVODE 中使用带有预处理的 Krylov 求解器吗?

期待任何帮助。谢谢你。

0 投票
1 回答
1222 浏览

c++ - 使用外部 C 库在 Rcpp 中编译 C++

我正在尝试Rcpp使用使用外部库的代码构建一个 R 包。我之前曾在此处询问过如何在包中使用外部 C 库。我面临的问题是,只要我包含以下代码行

我收到错误

我没有收到该行的错误

所以,我认为与图书馆的连接工作正常。我还确认了函数声明N_VNewSerial()nvector/nvector_serial.h如果你需要查看整个包代码,可以在这里

特定Rcpp文件的代码粘贴在下面

我不确定为什么代码报告undefined reference给同一个头文件中的一个函数而不是另一个函数,并且非常感谢理解解决此错误的任何帮助。

谢谢!

SN248

0 投票
1 回答
1202 浏览

c++ - 链接到 ac/c++ 库

我有一些关于链接C/C++库的基本问题。我试图了解使用两种不同用法-L/usr/local/lib -lm用法和/usr/local/lib/libm.a用法的区别。例如,当我从[SUNDIALS] 中编译和链接一个示例时,以下两项工作

或者

但是,要编译和链接库 中的示例[libsbml],以下工作

但这不是

如果需要,我可以发布我得到的完整错误消息,但消息的最后一行如下

我的问题如下:

  1. 在(第一个示例的)第二种链接样式中,没有关于在哪里找到include文件(头文件)的信息,编译器如何知道-I/usr/local/include第一个示例的第一种样式中提供的信息?

  2. 在第一个示例的第二种样式中没有/usr/local/lib/libm.a(如果我尝试包含它,它实际上会给出一个libm.a无法找到的错误消息),那么为什么-lm第一种样式需要?

  3. 如何以第二种风格(即使用/usr/local/lib/libsbml.a)编译第二个示例?我确实看到有文件 -libsbml.a并且libsbml-static.a/usr/local/lib文件夹中,但它们都不起作用。

如果有帮助,我在OS X机器上。

如果有人能在这方面提供帮助,我将不胜感激。

只是一个更新-我试过了

并且编译和链接得很好。

谢谢 SN

0 投票
2 回答
916 浏览

sundials - 日晷已安装但未在带有 assimulo 的 python 中运行

干杯,

我正在尝试使用 Assimulo 2.9。在 Mac OS X 上。为此,我通过 cmake 下载并安装了日晷,方法是为下载文件创建 builddir 并运行 ../Downloads/sundials-2.7.0

这应该将所有内容安装在 /usr/local 中。执行此操作时,它不会给我任何错误警告。但是当我尝试在 python 中使用 assimulo 时,会出现以下错误消息:

有什么建议么?

非常感谢。

0 投票
1 回答
501 浏览

matlab - SimBiology 模拟不起作用

我正在尝试在 MATLAB 中模拟模型(使用日晷求解器),但出现以下错误:

CVODES returned -4 from module CVODES function CVode: At t = 0 and h = 1.3093e-009, the corrector convergence test failed repeatedly or with |h| = hmin.

我在互联网上找不到有关此错误的任何信息。

这个错误是什么意思?我怎样才能解决这个问题?

0 投票
1 回答
102 浏览

c++ - 日晷 ODE_vector 到犰狳的转换以进行 ODE 近似

我正在尝试使用 Sundials ODE 求解器库来近似扩展多物种 Lotka-Volterra 竞争方程的动力学。例如在两个物种的情况下

dx1/dt = r1 * x1 * (1 - (x1 + a12 * x2))

dx2/dt = r2 * x2 * (1 - (x2 + a21 * x1))

或者...

d x /dt = r * x * (1 - A * x )

(其中 K = a11 = a22 = 1)

据我了解,日晷 ODE 求解器需要一个 ODE_vector 类的对象,其元素代表系统的各种状态变量,在本例中为 x1 和 x2,让求解器近似这两个物种的轨迹没有问题' 如果我将每个参数 (r1, r2, a12, a21) 编程为唯一对象,如下面的代码所示:

... 在哪里time_derivativestate是日晷班的成员ODE

谁能告诉我如何修改代码以将 ODE 系统转换为矩阵形式,即 r1、r2、a12 和 a21 的形式为rA?我被告知要使用“高级构造函数”(例如1)从 ODE_vector 转换为犰狳矢量/矩阵对象,但知道这一点是一回事,而要成功实现它又是另一回事!

谢谢!

0 投票
1 回答
78 浏览

java - 带有 Hibernate 对象的 Dropwizard Sundial 计划任务

我的 dropwizard 项目中有这个日晷任务:

我尝试在 Sceduler 任务中使用我的 DAO,我想按照日晷文档如何加载对象,但它似乎不起作用。在我的日晷任务中使用休眠项目的正确方法是什么?

谢谢

0 投票
0 回答
491 浏览

python - 如何在 Python 3.X 上安装 scikits.odes

我正在尝试除 SciPy 的 odeint 之外的其他 ODE 求解器。我找到了一个可能的 scikits.odes 包。要求包括 C 和 FORTRAN 编译器(我下载了 MinGW-w64,没有问题)、LAPACK(下载、构建、测试,看起来不错)和 SUNDIALS(LAPACK 问题)。如果 SUNDIALS 中未启用 LAPACK,则安装和运行 scikits.odes.test() 将出现几个错误。任何可以帮助我解决这个问题的人。

在 Python 3.5.5 上安装 scikits.odes 并运行后:

我有以下输出:

根据https://scikits-odes.readthedocs.io/en/latest/installation.html#troubleshooting中的 scikits.odes 故障排除程序,这是由于 SUNDIALS 未链接到 LAPACK 造成的。

我按照https://icl.cs.utk.edu/lapack-for-windows/lapack/#build中描述的过程使用 MinGW-w64 进行了简单的 Windows LAPACK 构建。当我运行时:

在命令提示符下测试 LAPACK 构建它工作正常(所有测试都通过)。

要安装 SUNDIALS 2.7.0,我遵循类似的过程。使用 CMake 我选择源文件夹,我选择不同的构建文件夹,使用配置并选择 LAPACK_ENABLE。当我再次配置时,我收到以下错误。

CMake 错误:

顺便说一句,我是编程新手,我正在 Windows 10、Python 3.5.5、LAPACK 3.8.0、SUNDIALS 2.7.0、CMake 3.11.4 上尝试所有这些。

0 投票
0 回答
232 浏览

cmake - 使用 MKL 构建日晷

我需要在仅提供 MKL 作为 BLAS 和 LAPACK 支持的 Linux 集群上构建日晷(作为另一个 C/C++ 库的依赖项)。

据我所知,与其他版本不同,MKL BLAS 和 LAPACK 包装器在链接时不是自包含的,但也需要链接到 MKL 核心和/或其他库。

那么我如何(如果有的话)告诉 CMake 为了成功构建日晷要包括什么?使用像这样的标志是否可能和安全

什么是正确的语法?