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
* method - This is the method for solving the implicit equation. For BDF this defaults to
380
-
:Newton while for Adams this defaults to :Functional. These choices match the
381
-
recommended pairing in the Sundials.jl manual. However, note that using the :Newton
382
-
method may take less iterations but requires more memory than the :Function iteration
380
+
* `method` - This is the method for solving the implicit equation. For BDF this defaults to
381
+
`:Newton` while for Adams this defaults to `:Functional`. These choices match the
382
+
recommended pairing in the Sundials.jl manual. However, note that using the `:Newton`
383
+
method may take less iterations but requires more memory than the `:Function` iteration
383
384
approach.
384
-
* linear_solver - This is the linear solver which is used in the :Newton method.
385
+
* `linear_solver` - This is the linear solver which is used in the `:Newton` method.
385
386
386
387
### Linear Solver Choices
387
388
388
389
The choices for the linear solver are:
389
390
390
-
* :Dense - A dense linear solver.
391
-
* :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.
392
-
* :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 noticeable overhead on smaller (<100 ODE) systems.
393
-
* :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 noticeable overhead on smaller (<100 ODE) systems.
394
-
* :Diagonal - This method is specialized for diagonal Jacobians.
395
-
* :GMRES - A GMRES method. Recommended first choice Krylov method
396
-
* :BCG - A Biconjugate gradient method.
397
-
* :PCG - A preconditioned conjugate gradient method. Only for symmetric linear systems.
398
-
* :TFQMR - A TFQMR method.
399
-
* :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.
391
+
* `:Dense` - A dense linear solver.
392
+
* `: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.
393
+
* `: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 noticeable overhead on smaller (<100 ODE) systems.
394
+
* `: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 noticeable overhead on smaller (<100 ODE) systems.
395
+
* `:Diagonal` - This method is specialized for diagonal Jacobians.
396
+
* `:GMRES` - A GMRES method. Recommended first choice Krylov method
397
+
* `:BCG` - A Biconjugate gradient method.
398
+
* `:PCG` - A preconditioned conjugate gradient method. Only for symmetric linear systems.
399
+
* `:TFQMR` - A TFQMR method.
400
+
* `: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.
400
401
401
402
### Preconditioners
402
403
403
404
Note that here `prec` is a preconditioner function
404
-
`prec(z,r,p,t,y,fy,gamma,delta,lr)` where:
405
+
`prec(z, r, p, t, y, fy,gamma,delta,lr)` where:
405
406
406
407
- `z`: the computed output vector
407
408
- `r`: the right-hand side vector of the linear system
408
409
- `p`: the parameters
409
410
- `t`: the current independent variable
410
411
- `du`: the current value of `f(u,p,t)`
411
-
- `gamma`: the `gamma` of `W = M - gamma*J`
412
+
- `gamma`: the `gamma` of `W = M - gamma * J`
412
413
- `delta`: the iterative method tolerance
413
-
- `lr`: a flag for whether `lr=1` (left) or `lr=2` (right)
414
+
- `lr`: a flag for whether `lr = 1` (left) or `lr = 2` (right)
414
415
preconditioning
415
416
416
417
and `psetup` is the preconditioner setup function for pre-computing Jacobian
@@ -422,8 +423,8 @@ information `psetup(p, t, u, du, jok, jcurPtr, gamma)`. Where:
422
423
- `du`: the current `f(u,p,t)`
423
424
- `jok`: a bool indicating whether the Jacobian needs to be updated
424
425
- `jcurPtr`: a reference to an Int for whether the Jacobian was updated.
425
-
`jcurPtr[]=true` should be set if the Jacobian was updated, and
426
-
`jcurPtr[]=false` should be set if the Jacobian was not updated.
426
+
`jcurPtr[] = true` should be set if the Jacobian was updated, and
427
+
`jcurPtr[] = false` should be set if the Jacobian was not updated.
0 commit comments