The CVODESolver plugin uses CVODE to solve ODEs and it can be customised through the following properties:
0
).
the default value of 0
means that CVODE will try to use as big a step as possible.
500
).
the default value of 500
should be big enough for most models. However, some (very) stiff models may require this value to be increased.
BDF
)
BDF
and Adams-Moulton
can be used.
BDF
can be used with either stiff or non-stiff models while Adams-Moulton
should only be used with non-stiff models.
Newton
).
Newton
and Functional
can be used.
Newton
can be used with either stiff or non-stiff models while Functional
should only be used with non-stiff models.
to use a Newton
iteration requires solving a system of linear equations and therefore requires specifying a linear solver.
Newton
iteration (default: Dense
).
Dense
, Banded
, Diagonal
, GMRES
, BiCGStab
and TFQMR
can be used.
Banded
requires specifying both an upper and a lower half-bandwidth value.
GMRES
, BiCGStab
and TFQMR
require specifying whether to use a preconditioner.
GMRES
, BiCGStab
or TFQMR
linear solver during a Newton
iteration (default: Banded
).
Banded
and None
can be used.
Banded
requires specifying both an upper and a lower half-bandwidth value.
Banded
linear solver or preconditioner (default: 0
).
the upper half-bandwidth value must be between 0
and n-1
with n
the number of ODEs in the model.
Banded
linear solver or preconditioner (default: 0
).
the lower half-bandwidth value must be between 0
and n-1
with n
the number of ODEs in the model.
10^{-7}
).
10^{-7}
).
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 set Interpolate solution to False
. The former approach will yield (slightly) less accurate results, but they will be obtained (much) faster.