On Wed, Mar 30, 2016 at 4:00 PM, Lisandro Dalcin <[email protected]> wrote:
> On 30 March 2016 at 18:50, Hong Zhang <[email protected]> wrote: > > If there are state changes in the post event callback, then multistep > methods would not be a good choice for the application. > > I would use multistage methods such as RK type instead. > > > > It all depends on the frequency of events respect to the timestep. > > > However, restarting the time stepper may still be necessary for other > types of discontinuities, e.g. changes in the RHS function. > > Oh! Very good point. Then, the only way to know is the postevent > callback flagging the timestepper about it. Well, A > VecGetArray()/RestoreArray() on the solution would still work, even if > the postevent callback does not actually modify the state. However, > this is sounds like a bad API for users to flag the restart. > > > So I would suggest to do unconditional restart at discontinuity points > for safety. > > > > So ARKIMEX has to be fixed. Unless we agree and document that > VecGetArray()/RestoreArray() is the way to flag discontinuities in the > RHS function. > Or http://www.mcs.anl.gov/petsc/petsc-current/docs/manualpages/Sys/PetscObjectStateIncrease.html Matt > > -- > 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 > -- What most experimenters take for granted before they begin their experiments is infinitely more interesting than any results to which their experiments lead. -- Norbert Wiener
