RadCluster
Graph-based cluster dynamics for irradiated materials
Loading...
Searching...
No Matches
SUNDIALS

The C++ solver of RadCluster integrates the rate equations with CVODE, which is part of the SUNDIALS library. RadCluster is written against SUNDIALS version 7.1.1.

Location

The build looks for SUNDIALS in a folder Libraries that is a sibling of the repository root:

Libraries/sundials-7.1.1/mac_install     (macOS)
Libraries/sundials-7.1.1/win_install     (Windows)

If the library is not there, the build uses whatever find_package(SUNDIALS) resolves, for example a system install.

Note that version 7 is required. The solver creates its context with SUNContext_Create(SUN_COMM_NULL, ...), and SUN_COMM_NULL does not exist in version 6.

Building SUNDIALS

The following commands build SUNDIALS with LAPACK and KLU, as the container image does:

cmake -S sundials-7.1.1 -B sundials-build \
      -DCMAKE_BUILD_TYPE=Release \
      -DCMAKE_INSTALL_PREFIX=<install folder> \
      -DENABLE_LAPACK=ON \
      -DENABLE_KLU=ON
cmake --build sundials-build
cmake --install sundials-build

A Fortran compiler is needed when LAPACK is enabled, because SUNDIALS probes the Fortran name-mangling scheme at configure time.

See also
Building the solver, Container image