@@ -23,6 +23,27 @@ The choices for the linear solver are:
23
23
:PCG - A preconditioned conjugate gradient method. Only for symmetric linear systems.
24
24
:TFQMR - A TFQMR method.
25
25
: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.
26
+
27
+ Example:
28
+
29
+ CVODE_BDF() # BDF method using Newton + Dense solver
30
+ CVODE_BDF(method=:Functional) # BDF method using Functional iterations
31
+ CVODE_BDF(linear_solver=:Band,jac_upper=3,jac_lower=3) # Banded solver with nonzero diagonals 3 up and 3 down
32
+ CVODE_BDF(linear_solver=:BCG) # Biconjugate gradient method
33
+
34
+ All of the additional options are available. The full constructor is:
35
+
36
+ CVODE_BDF(;method=:Newton,linear_solver=:Dense,
37
+ jac_upper=0,jac_lower=0,
38
+ stored_upper = jac_upper + jac_lower,
39
+ non_zero=0,krylov_dim=0,
40
+ stability_limit_detect=false,
41
+ max_hnil_warns = 10,
42
+ max_order = 5,
43
+ max_error_test_failures = 7,
44
+ max_nonlinear_iters = 3,
45
+ max_convergence_failures = 10,
46
+ prec = nothing, prec_side = 0)
26
47
"""
27
48
struct CVODE_BDF{Method, LinearSolver, P, PS} <: SundialsODEAlgorithm{Method, LinearSolver}
28
49
jac_upper:: Int
@@ -108,6 +129,20 @@ The choices for the linear solver are:
108
129
:PCG - A preconditioned conjugate gradient method. Only for symmetric linear systems.
109
130
:TFQMR - A TFQMR method.
110
131
: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.
132
+
133
+ All of the additional options are available. The full constructor is:
134
+
135
+ CVODE_Adams(;method=:Functional,linear_solver=:None,
136
+ jac_upper=0,jac_lower=0,
137
+ stored_upper = jac_upper + jac_lower,
138
+ krylov_dim=0,
139
+ stability_limit_detect=false,
140
+ max_hnil_warns = 10,
141
+ max_order = 12,
142
+ max_error_test_failures = 7,
143
+ max_nonlinear_iters = 3,
144
+ max_convergence_failures = 10,
145
+ prec = nothing, psetup = nothing, prec_side = 0)
111
146
"""
112
147
struct CVODE_Adams{Method, LinearSolver, P, PS} < :
113
148
SundialsODEAlgorithm{Method, LinearSolver}
@@ -212,6 +247,34 @@ itable:
212
247
ARK436L2SA_DIRK_6_3_4: implicit portion of Kennedy and Carpenter's 4th order method
213
248
KVAERNO_7_4_5: Kvaerno's 5th order ESDIRK method
214
249
ARK548L2SA_DIRK_8_4_5: implicit portion of Kennedy and Carpenter's 5th order method
250
+
251
+ These can be set for example via:
252
+
253
+ ARKODE(Sundials.Explicit(),etable = Sundials.DORMAND_PRINCE_7_4_5)
254
+ ARKODE(Sundials.Implicit(),itable = Sundials.KVAERNO_4_2_3)
255
+
256
+ All of the additional options are available. The full constructor is:
257
+
258
+ ARKODE(stiffness=Sundials.Implicit();
259
+ method=:Newton,linear_solver=:Dense,
260
+ jac_upper=0,jac_lower=0,stored_upper = jac_upper+jac_lower,
261
+ non_zero=0,krylov_dim=0,
262
+ max_hnil_warns = 10,
263
+ max_error_test_failures = 7,
264
+ max_nonlinear_iters = 3,
265
+ max_convergence_failures = 10,
266
+ predictor_method = 0,
267
+ nonlinear_convergence_coefficient = 0.1,
268
+ dense_order = 3,
269
+ order = 4,
270
+ set_optimal_params = false,
271
+ crdown = 0.3,
272
+ dgmax = 0.2,
273
+ rdiv = 2.3,
274
+ msbp = 20,
275
+ adaptivity_method = 0,
276
+ prec = nothing, psetup = nothing, prec_side = 0
277
+ )
215
278
"""
216
279
struct ARKODE{Method, LinearSolver, MassLinearSolver, T, T1, T2, P, PS} < :
217
280
SundialsODEAlgorithm{Method, LinearSolver}
@@ -367,6 +430,29 @@ linearsolver - This is the linear solver which is used in the Newton iterations.
367
430
:PCG - A preconditioned conjugate gradient method. Only for symmetric linear systems.
368
431
:TFQMR - A TFQMR method.
369
432
: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.
433
+
434
+ Example:
435
+
436
+ IDA() # Newton + Dense solver
437
+ IDA(linear_solver=:Band,jac_upper=3,jac_lower=3) # Banded solver with nonzero diagonals 3 up and 3 down
438
+ IDA(linear_solver=:BCG) # Biconjugate gradient method
439
+
440
+ All of the additional options are available. The constructor is:
441
+
442
+ IDA(;linear_solver=:Dense,jac_upper=0,jac_lower=0,krylov_dim=0,
443
+ max_order = 5,
444
+ max_error_test_failures = 7,
445
+ max_nonlinear_iters = 3,
446
+ nonlinear_convergence_coefficient = 0.33,
447
+ nonlinear_convergence_coefficient_ic = 0.0033,
448
+ max_num_steps_ic = 5,
449
+ max_num_jacs_ic = 4,
450
+ max_num_iters_ic = 10,
451
+ max_num_backs_ic = 100,
452
+ use_linesearch_ic = true,
453
+ max_convergence_failures = 10,
454
+ init_all = false,
455
+ prec = nothing, psetup = nothing, prec_side = 0)
370
456
"""
371
457
struct IDA{LinearSolver, P, PS} <: SundialsDAEAlgorithm{LinearSolver}
372
458
jac_upper:: Int
0 commit comments