
Check whether an ODE solving method is a purely non-stiff solver
Source:R/rxsolve.R
rxIsNonStiff.RdReturns TRUE for methods that are designed exclusively for non-stiff
systems. Solvers like "lsoda" and "liblsoda" that automatically switch
between stiff and non-stiff algorithms return FALSE, as do all stiff-only
methods.
Arguments
- method
A character vector of method names or an integerish vector of method codes (as returned by
odeMethodToInt()). Vectorised.
Value
A logical vector the same length as method. TRUE if the
corresponding method is a purely non-stiff solver.
Details
Switchers ("lsoda" = 1, "liblsoda" = 2) and the inductive linearisation
solver ("indLin" = 3) are excluded from both rxIsStiff() and
rxIsNonStiff().
Examples
rxIsNonStiff("dop853") # TRUE
#> [1] TRUE
rxIsNonStiff("lsoda") # FALSE (switches)
#> [1] FALSE
rxIsNonStiff("bdf") # FALSE (stiff-only)
#> [1] FALSE
rxIsNonStiff(c("lsode", "cvode", "bs32")) # TRUE FALSE TRUE
#> [1] TRUE FALSE TRUE