-
Notifications
You must be signed in to change notification settings - Fork 4
Fully Explicit Embedded Adams w/Adaptive Timestep #12
base: main
Are you sure you want to change the base?
Conversation
- also adds diagonally implicit RK methods
encompass both AB and AM method tests
to establish local error estimate - NOT an IMEX pair
|
@inducer I mentioned the possibility that I wasn't able to get this version of the embedded Adams method to work because of a bug, and that does appear to be the case, as it now passes adaptive and non-adaptive accuracy tests, as well as the usual timestep checks to see if it is indeed adapting. I've noticed in an eyeball-norm manner that the explicit adaptive methods take much longer to run the given Van der Pol test case, because given the fully explicit nature of the timestepper (and perhaps the smaller stability region at higher order, as you've mentioned) the timesteps being taken are tiny relative to the implicit-explicit method. For such a simple case, this appears to be washing out the cost of the implicit solve and then some. Nonetheless, I can certainly envision scenarios in which it'll be nice to have this manner of embedded method around. For the time being, I'm going to be thinking about a good way to combine these two embedded methods into one smaller codebase, and furthermore, a better way to test timestep adaptivity that doesn't involve hard-coding fractions of timesteps larger than or smaller than certain values. |
This PR provides an alternative (or perhaps an addition) to the branch detailed in this pull request. This adds an embedded Adams method that performs adaptive timestepping by using explicit estimates of multiple orders to form the local error estimate (rather than using an implicit-explicit pair, as in the linked pull request).