Crates.io | sundials-sys |
lib.rs | sundials-sys |
version | 0.5.1 |
source | src |
created_at | 2019-01-07 01:47:24.250692 |
updated_at | 2024-07-18 22:06:07.199756 |
description | Bindings to the SUNDIALS suite of Nonlinear and DAE Solvers |
homepage | |
repository | https://github.com/Chris00/sundials-sys |
max_upload_size | |
id | 105952 |
size | 12,802,795 |
A barebones -sys
crate around the
SUNDIALS suite of
ODE solvers.
The system must have CMake (cmake
dependency) and clang (bindgen
dependency) already installed for compilation to succeed.
This crate will try to detect whether a system SUNDIALS library is
present (with header files) and otherwise compile a vendored version
of it. If your SUNDIALS library is installed at an unusual location,
you may declare the environment variables SUNDIALS_LIBRARY_DIR
and
SUNDIALS_INCLUDE_DIR
to communicate this to the build script. You
may force the use of the vendored version by enabling the feature
build_libraries
.
Enabling the klu
feature requires the SuiteSparse library to be
installed (with header files) on your system. There is no fallback to
a vendor version of SuiteSparse because this library is very large.
If KLU is installed at a non-standard location and this location is
not known to pkg-config
, you can set KLU_INCLUDE_DIR
and
KLU_LIBRARY_DIR
to respectively specify the include path for klu.h
and the lib path. For example:
KLU_INCLUDE_DIR=/usr/include/suitesparse
KLU_LIBRARY_DIR=/usr/lib/x86_64-linux-gnu
Use your package manager to install cmake
and clang
.
System SUNDIALS libraries are available: install libsundials-dev
for
Debian based systems, sundials-devel
for Redhat and Suse, and
sundials
for Arch, MacOS, and the BSD distributions.
On Debian based systems, the SuiteSparse development files may be
installed with apt install libsuitesparse-dev
.
If you haven't already, you must install visual studio,
enabling C++ development. You must also install
cmake. After this, you must reboot your machine
otherwise cmake
will not find the C++ compiler and you will have an
error such as “Generator Visual Studio 16 2019 could not find any
instance of Visual Studio.”
To install a system SUNDIALS, we recommend you use vcpkg and then issue (from the vcpkg directory):
vcpkg install sundials --triplet=x64-windows
Alternatively, you may use Chocolatey to install cmake and llvm (which provides clang).
If you need to enable KLU, you need to add this vcpkg registry which provides sundials with KLU enabled.
The license and copyright information for the SUNDIALS suite can be viewed here. At the time of writing, it is a BSD 3-Clause license. The code specific to this crate is also made available under the BSD 3-Clause license.
suitesparse_sys
crate.vcpkg
on Windows.-sys
wrapper with minor testsThe package sundials-sys
was started by by Jason
Dark
(repo) in January 2019.
From June 2021 to October 2022, Arthur Carcano
(repo) polished and maintained it.