> The details depend on the adaptive controller. Unfortunately, we haven't yet > unified the interface for adaptive controllers, so, for example, TSALPHA and > TSGL have different APIs. But both of them provide adaptive controllers now > and the rate of increase can be limited.
Is there an example showing the use of these controllers? > I think having these interfaces is really undesirable and that we should > unify it, but the information provided by the error estimates for TSGL are > quite different from most methods (OTOH, they seem to me noisy which limits > their utility, but there are other possible reasons for that, including > "starting methods"). Is it possible for the user to push a custom controller? I.e. a call-back that gets passed the SNES converged reason, the last SNES residual, the current time-step size, the solution vector, etc. This would provide an opportunity to apply a CFL condition, customise the step-size adaptivity. > It is obviously important that TS not just chug along without error if a > timestep fails. > > So this is possible, but it's somewhat inconsistent between methods. It would > help a great deal to build a suite of test problems that provide some way to > evaluate error (even just through self-convergence) so that we can test > whether an adaptive method is performing well. Perhaps you could do this for the heat equation with harmonic initial data. > My intent is to provide some common interface for adaptive controllers as > well as some sample controllers. The controller can evaluate whether to > accept or reject a step as well as choosing the next time step and, for the > variable-order families, the method to use for the next step (selected from a > list of candidate schemes). This is basically what I did in TSGL and later, > and what Lisandro did in TSAlpha, but we need to unify the interface despite > these methods giving us somewhat different information in their (embedded or > extrapolated) error estimates. This sounds great. > I think TSAlpha has the best tested adaptive controller right now. Getting > all the cool adaptive features into TSARKIMEX is next, hopefully with a > unified interface for user-provided controllers. So now that I have TSBEULER working for my problem, should I try to upgrade to TSALPHA ? Cheers, Rich