Skip to content

Commit c8f2890

Browse files
Merge pull request #2444 from pybamm-team/i2217-idaklu
I2217 idaklu
2 parents 24e465d + 2b80d6b commit c8f2890

24 files changed

+1876
-1183
lines changed

CHANGELOG.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44

55
- Added `scale` and `reference` attributes to `Variable` objects, which can be use to make the ODE/DAE solver better conditioned ([#2440](https://github.com/pybamm-team/PyBaMM/pull/2440))
66
- SEI reactions can now be asymmetric ([#2425](https://github.com/pybamm-team/PyBaMM/pull/2425))
7+
- New Idaklu solver options for jacobian type and linear solver, support Sundials v6 ([#2444](https://github.com/pybamm-team/PyBaMM/pull/2444))
78

89
## Optimizations
910

CMakeBuild.py

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -82,7 +82,10 @@ def run(self):
8282
use_python_casadi = False
8383
else:
8484
use_python_casadi = True
85+
86+
build_type = os.getenv("PYBAMM_CPP_BUILD_TYPE", "Release")
8587
cmake_args = [
88+
"-DCMAKE_BUILD_TYPE={}".format(build_type),
8689
"-DPYTHON_EXECUTABLE={}".format(sys.executable),
8790
"-DUSE_PYTHON_CASADI={}".format("TRUE" if use_python_casadi else "FALSE"),
8891
]

CMakeLists.txt

Lines changed: 13 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -35,14 +35,20 @@ endif()
3535

3636
add_subdirectory(${PYBIND11_DIR})
3737
pybind11_add_module(idaklu
38-
pybamm/solvers/c_solvers/idaklu_python.cpp
39-
pybamm/solvers/c_solvers/idaklu_python.hpp
38+
pybamm/solvers/c_solvers/idaklu/casadi_functions.cpp
39+
pybamm/solvers/c_solvers/idaklu/casadi_functions.hpp
40+
pybamm/solvers/c_solvers/idaklu/casadi_solver.cpp
41+
pybamm/solvers/c_solvers/idaklu/casadi_solver.hpp
42+
pybamm/solvers/c_solvers/idaklu/casadi_sundials_functions.hpp
43+
pybamm/solvers/c_solvers/idaklu/casadi_sundials_functions.cpp
44+
pybamm/solvers/c_solvers/idaklu/common.hpp
45+
pybamm/solvers/c_solvers/idaklu/python.hpp
46+
pybamm/solvers/c_solvers/idaklu/python.cpp
47+
pybamm/solvers/c_solvers/idaklu/solution.cpp
48+
pybamm/solvers/c_solvers/idaklu/solution.hpp
49+
pybamm/solvers/c_solvers/idaklu/options.hpp
50+
pybamm/solvers/c_solvers/idaklu/options.cpp
4051
pybamm/solvers/c_solvers/idaklu.cpp
41-
pybamm/solvers/c_solvers/idaklu.hpp
42-
pybamm/solvers/c_solvers/idaklu_casadi.cpp
43-
pybamm/solvers/c_solvers/idaklu_casadi.hpp
44-
pybamm/solvers/c_solvers/solution.cpp
45-
pybamm/solvers/c_solvers/solution.hpp
4652
)
4753

4854
if (NOT DEFINED USE_PYTHON_CASADI)

FindSUNDIALS.cmake

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,8 @@
88
#
99
# * sundials_ida
1010
# * sundials_sunlinsolklu
11+
# * sundials_sunlinsoldense
12+
# * sundials_sunlinsollapackdense
1113
# * sundials_sunmatrix_sparse
1214
# * sundials_nvecserial
1315
#
@@ -31,6 +33,9 @@ find_path(SUNDIALS_INCLUDE_DIR
3133
sundials/sundials_math.h
3234
sundials/sundials_types.h
3335
sunlinsol/sunlinsol_klu.h
36+
sunlinsol/sunlinsol_dense.h
37+
sunlinsol/sunlinsol_spbcgs.h
38+
sunlinsol/sunlinsol_lapackdense.h
3439
sunmatrix/sunmatrix_sparse.h
3540
PATH_SUFFIXES
3641
include
@@ -41,6 +46,9 @@ find_path(SUNDIALS_INCLUDE_DIR
4146
set(SUNDIALS_WANT_COMPONENTS
4247
sundials_idas
4348
sundials_sunlinsolklu
49+
sundials_sunlinsoldense
50+
sundials_sunlinsolspbcgs
51+
sundials_sunlinsollapackdense
4452
sundials_sunmatrixsparse
4553
sundials_nvecserial
4654
)

0 commit comments

Comments
 (0)