You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: src/common_interface/algorithms.jl
+29-1Lines changed: 29 additions & 1 deletion
Original file line number
Diff line number
Diff line change
@@ -93,6 +93,21 @@ Base.@pure function CVODE_BDF(;
93
93
end
94
94
"""
95
95
CVODE_Adams: CVode Adams-Moulton solver.
96
+
97
+
method - This is the method for solving the implicit equation. For BDF this defaults to :Newton while for Adams this defaults to :Functional. These choices match the recommended pairing in the Sundials.jl manual. However, note that using the :Newton method may take less iterations but requires more memory than the :Function iteration approach.
98
+
linear_solver - This is the linear solver which is used in the :Newton method.
99
+
The choices for the linear solver are:
100
+
101
+
:Dense - A dense linear solver.
102
+
:Band - A solver specialized for banded Jacobians. If used, you must set the position of the upper and lower non-zero diagonals via jac_upper and jac_lower.
103
+
:LapackDense - A version of the dense linear solver that uses the Julia-provided OpenBLAS-linked LAPACK for multithreaded operations. This will be faster than :Dense on larger systems but has noticable overhead on smaller (<100 ODE) systems.
104
+
:LapackBand - A version of the banded linear solver that uses the Julia-provided OpenBLAS-linked LAPACK for multithreaded operations. This will be faster than :Band on larger systems but has noticable overhead on smaller (<100 ODE) systems.
105
+
:Diagonal - This method is specialized for diagonal Jacobians.
106
+
:GMRES - A GMRES method. Recommended first choice Krylov method
107
+
:BCG - A Biconjugate gradient method.
108
+
:PCG - A preconditioned conjugate gradient method. Only for symmetric linear systems.
109
+
:TFQMR - A TFQMR method.
110
+
:KLU - A sparse factorization method. Requires that the user specifies a Jacobian. The Jacobian must be set as a sparse matrix in the ODEProblem type.
IDA: This is the IDA method from the Sundials.jl package.
357
+
358
+
Note that the constructors for the Sundials algorithms take a main argument:
359
+
linearsolver - This is the linear solver which is used in the Newton iterations. The choices are:
360
+
361
+
:Dense - A dense linear solver.
362
+
:Band - A solver specialized for banded Jacobians. If used, you must set the position of the upper and lower non-zero diagonals via jac_upper and jac_lower.
363
+
:LapackDense - A version of the dense linear solver that uses the Julia-provided OpenBLAS-linked LAPACK for multithreaded operations. This will be faster than :Dense on larger systems but has noticable overhead on smaller (<100 ODE) systems.
364
+
:LapackBand - A version of the banded linear solver that uses the Julia-provided OpenBLAS-linked LAPACK for multithreaded operations. This will be faster than :Band on larger systems but has noticable overhead on smaller (<100 ODE) systems.
365
+
:GMRES - A GMRES method. Recommended first choice Krylov method
366
+
:BCG - A Biconjugate gradient method.
367
+
:PCG - A preconditioned conjugate gradient method. Only for symmetric linear systems.
368
+
:TFQMR - A TFQMR method.
369
+
:KLU - A sparse factorization method. Requires that the user specifies a Jacobian. The Jacobian must be set as a sparse matrix in the ODEProblem type.
0 commit comments