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.