I'm looking for adaptive controllers (adaptive in both step size and order) for stiff integrators. I have asymptotically correct error estimates for the current method and all candidate methods of order 1 higher and lower than the current method. My naive controllers have occasional problems with either oscillating between different methods despite smooth long-term behavior, or getting stuck (e.g. with a high order method and unreasonably short time steps).


For the curious, these are IRKS general linear methods, see Butcher, Jackiewicz, and Wright 2007.



Adaptive controllers for stiff ODE and DAE integrators
Have a look at [chapter 8 of Jackiewicz's book](http://books.google.fr/books?id=SjNfr7gfUZEC&lpg=PP1&dq=General%2520Linear%2520Methods%2520for%2520Ordinary%2520Differential%2520Equations.&pg=PA417#v=onepage&q&f=false), especially section 8.10 for a general background. There's some [matlab code](http://www.math.auckland.ac.nz/~hpod/atlas/irks.m) by Podhaisky too, used to [do this](http://www.math.auckland.ac.nz/~hpod/atlas/), but no control here.


And then, the [theses of Butcher's recent student are here](http://www.math.auckland.ac.nz/~butcher/theses/), which discuss implementation details, in particular Huang's chapter 3 should be very useful to you.


Older fortran code by Hairer do implement both order and stepsize control: see [RADAU and DR\_RADAU here](http://www.unige.ch/~hairer/software.html), it's not for IRKS but gives a well-tested framework that could be suitably modified. 


