<div dir="ltr"><div class="gmail_extra"><div class="gmail_quote">On Wed, Mar 30, 2016 at 4:00 PM, Lisandro Dalcin <span dir="ltr"><<a href="mailto:dalcinl@gmail.com" target="_blank">dalcinl@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">On 30 March 2016 at 18:50, Hong Zhang <<a href="mailto:hongzhang@anl.gov">hongzhang@anl.gov</a>> wrote:<br>
> If there are state changes in the post event callback, then multistep methods would not be a good choice for the application.<br>
> I would use multistage methods such as RK type instead.<br>
><br>
<br>
It all depends on the frequency of events respect to the timestep.<br>
<br>
> However, restarting the time stepper may still be necessary for other types of discontinuities, e.g. changes in the RHS function.<br>
<br>
Oh! Very good point. Then, the only way to know is the postevent<br>
callback flagging the timestepper about it. Well, A<br>
VecGetArray()/RestoreArray() on the solution would still work, even if<br>
the postevent callback does not actually modify the state. However,<br>
this is sounds like a bad API for users to flag the restart.<br>
<br>
> So I would suggest to do unconditional restart at discontinuity points for safety.<br>
><br>
<br>
So ARKIMEX has to be fixed. Unless we agree and document that<br>
VecGetArray()/RestoreArray() is the way to flag discontinuities in the<br>
RHS function.<br></blockquote><div><br></div><div>Or <a href="http://www.mcs.anl.gov/petsc/petsc-current/docs/manualpages/Sys/PetscObjectStateIncrease.html">http://www.mcs.anl.gov/petsc/petsc-current/docs/manualpages/Sys/PetscObjectStateIncrease.html</a></div><div><br></div><div>   Matt</div><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">
<br>
--<br>
Lisandro Dalcin<br>
============<br>
Research Scientist<br>
Computer, Electrical and Mathematical Sciences & Engineering (CEMSE)<br>
Extreme Computing Research Center (ECRC)<br>
King Abdullah University of Science and Technology (KAUST)<br>
<a href="http://ecrc.kaust.edu.sa/" rel="noreferrer" target="_blank">http://ecrc.kaust.edu.sa/</a><br>
<br>
4700 King Abdullah University of Science and Technology<br>
al-Khawarizmi Bldg (Bldg 1), Office # 4332<br>
Thuwal 23955-6900, Kingdom of Saudi Arabia<br>
<a href="http://www.kaust.edu.sa" rel="noreferrer" target="_blank">http://www.kaust.edu.sa</a><br>
<br>
Office Phone: <a href="tel:%2B966%2012%20808-0459" value="+966128080459">+966 12 808-0459</a><br>
</blockquote></div><br><br clear="all"><div><br></div>-- <br><div class="gmail_signature">What most experimenters take for granted before they begin their experiments is infinitely more interesting than any results to which their experiments lead.<br>-- Norbert Wiener</div>
</div></div>