[petsc-dev] ts/examples/tutorials/ex11 test garbage?

Richard Katz richard.katz at earth.ox.ac.uk
Wed Aug 17 09:02:52 CDT 2011


> 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


More information about the petsc-dev mailing list