Skip to contents

Returns TRUE for methods that are designed exclusively for stiff systems and will never switch to a non-stiff algorithm. Solvers like "lsoda" and "liblsoda" that automatically switch between stiff and non-stiff algorithms return FALSE.

Usage

rxIsStiff(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 stiff solver.

Details

Stiff-only methods are: "ros4" (13), "iem" (14), "cvode" (21), "ros43" (31), "ros6" (32), "backwardEuler" (33), "gauss6" (34), "iiic6" (35), "radauiia5" (36), "geng5" (37), "sdirk43" (38), "bdf" (107).

Examples

rxIsStiff("bdf")                           # TRUE
#> [1] TRUE
rxIsStiff("lsoda")                         # FALSE (switches)
#> [1] FALSE
rxIsStiff("liblsoda")                      # FALSE (switches)
#> [1] FALSE
rxIsStiff(c("cvode", "dop853", "ros43"))   # TRUE FALSE TRUE
#> [1]  TRUE FALSE  TRUE