# CVODESolver plugin¶

The CVODESolver plugin uses CVODE to solve ODEs and it can be customised through the following properties:

• Maximum step: the maximum step used by the solver (default: $$0$$).

Note: the default value of $$0$$ means that CVODE will try to use as big a step as possible.

• Maximum number of steps: the maximum number of (internal) steps used by the solver between two given points (default: $$500$$).

Note: the default value of $$500$$ should be big enough for most models. However, some (very) stiff models may require this value to be increased.

• Integration method: the integration method used by the solver (default: BDF)

Note #1: BDF and Adams-Moulton can be used.

Note #2: BDF can be used with either stiff or non-stiff models while Adams-Moulton should only be used with non-stiff models.

• Iteration type: the type of iteration used by the solver (default: Newton).

Note #1: Newton and Functional can be used.

Note #2: Newton can be used with either stiff or non-stiff models while Functional should only be used with non-stiff models.

Note #3: to use a Newton iteration requires solving a system of linear equations and therefore requires specifying a linear solver.

• Linear solver: the linear solver used by the solver during a Newton iteration (default: Dense).

Note #1: Dense, Banded, Diagonal, GMRES, BiCGStab, and TFQMR can be used.

Note #2: Banded requires specifying both an upper and a lower half-bandwidth value.

Note #3: GMRES, BiCGStab, and TFQMR require specifying whether to use a preconditioner.

• Preconditioner: the preconditioner, if any, used by the solver when using a GMRES, BiCGStab, or TFQMR linear solver during a Newton iteration (default: Banded).

Note #1: Banded and None can be used.

Note #2: Banded requires specifying both an upper and a lower half-bandwidth value.

• Upper half-bandwidth: the upper half-bandwidth value used by the Banded linear solver or preconditioner (default: $$0$$).

Note: the upper half-bandwidth value must be between $$0$$ and $$n-1$$ with $$n$$ the number of ODEs in the model.

• Lower half-bandwidth: the lower half-bandwidth value used by the Banded linear solver or preconditioner (default: $$0$$).

Note: the lower half-bandwidth value must be between $$0$$ and $$n-1$$ with $$n$$ the number of ODEs in the model.

• Relative tolerance: the relative tolerance used by the solver (default: $$10^{-7}$$).

• Absolute tolerance: the absolute tolerance used by the solver (default: $$10^{-7}$$).

• Interpolate solution: whether the solver returns an interpolated solution (default: True).

The default settings should work with most models. However, some models may require some minor adjustments. This is the case with cardiac cellular electrophysiological models that need a stimulus protocol to generate an action potential. Such a protocol is likely to be ignored by CVODE, if Maximum step and Interpolate solution are set to their default values of $$0$$ and True, respectively. To address this issue, you can either set Maximum step to the length of the stimulus protocol or Interpolate solution to False. The former approach will yield (slightly) less accurate results, but they will be obtained (much) faster.