On 30 March 2016 at 02:15, Jed Brown <[email protected]> wrote: > Emil Constantinescu <[email protected]> writes: > >> Jed had something a while back but it may have become stale. Otherwise, >> we had been relying on Sundials but would gladly support something native. > > Yeah, I started a branch for LMS a few years back, but there was a lot > of work left before it would have been ready for general use. I haven't > reviewed Lisandro's code, but it sounds like it's further along than > mine (and not bitrotted).
My current implementation in PetIGA was written with the limitations of petsc-3.6 and does not handle events. To properly support multistep methods (and particularly BDF), I think we need an important additional feature in TSEvent: If the post event callback do change the state (i.e, there is a discontinuity in the solution), the timestepper has to be "restarted" (BDF implementations usually discard previous history and go back to order one, i.e. backward Euler). Would it make sense to extend the TSEvent API in such a way that the user can flag the timesteper about state changes? Otherwise, the timestepper has no other choice than unconditionally restart. -- Lisandro Dalcin ============ Research Scientist Computer, Electrical and Mathematical Sciences & Engineering (CEMSE) Extreme Computing Research Center (ECRC) King Abdullah University of Science and Technology (KAUST) http://ecrc.kaust.edu.sa/ 4700 King Abdullah University of Science and Technology al-Khawarizmi Bldg (Bldg 1), Office # 4332 Thuwal 23955-6900, Kingdom of Saudi Arabia http://www.kaust.edu.sa Office Phone: +966 12 808-0459
