Stiffness detection relies on knowledge of the linear stability boundary of the method, which has not been defined.
Computing the exact linear stability boundary of a method under extrapolation can be quite complicated. Therefore a default value is selected which works for all methods. This corresponds to considering the p order power series approximation to the exponential at 0 and ignoring higher order terms.
If "LocalExtrapolation" is True then a generic value is selected corresponding to a method of order p + 2 (symmetric) or p + 1.
If "LocalExtrapolation" is False then the property "LinearStabilityBoundary" of the base method is checked. If no value has been specified then a default for a method of order p is selected.
This computes the linear stability boundary for a generic method of order 4.
A default value for the "LinearStabilityBoundary" property is used.
This shows how to specify the linear stability boundary of the method for the framework. This value will only be used if "DoubleStep" is invoked with "LocalExtrapolation"->True .
"DoubleStep" assumes by default that a method is not appropriate for stiff problems (and hence uses stiffness detection) when no "StiffMethodQ" property is specified. This shows how to define the property.
The following example extrapolates the classical Runge–Kutta method of order four using two applications of (3).
The inner specification of "DoubleStep" constructs a method of order five.
A second application of "DoubleStep" is used to obtain a method of order six, which uses adaptive step sizes.
Nested applications of "DoubleStep" are used to raise the order and provide an adaptive step-size estimate.
In general the method "Extrapolation" is more appropriate for constructing high-order integration schemes from low-order methods.