Skip to contents

Returns 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.

Usage

rxIsNonStiff(method)

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