<html><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; line-break: after-white-space;" class=""><div class=""><br class=""></div>  This seems completely reasonable. We should have a simple mechanism for multi-step methods to save the appropriate multisteps after an integration and to load them into a TS before a new integration.<div class=""><br class=""></div><div class="">   Barry</div><div class=""><br class=""><div><br class=""><blockquote type="cite" class=""><div class="">On Mar 10, 2022, at 11:05 AM, Alfredo J Duarte Gomez <<a href="mailto:aduarteg@utexas.edu" class="">aduarteg@utexas.edu</a>> wrote:</div><br class="Apple-interchange-newline"><div class=""><div dir="ltr" class=""><div class="">Hello Zhang and Hong,</div><div class=""><br class=""></div><div class="">Thank you for your reply.</div><div class=""><br class=""></div><div class="">As I described, I simply wanted to be able to restart a higher order BDF from a previous solution. <br class=""></div><div class=""><br class=""></div><div class="">For example, if I want to restart a BDF-2 solution I can simply load times (n is current time step ) t_n-1, t_n, load solutions y_n, and yn-1 from a restart file and continue integration with a BDF-2 formula as if it never stopped. <br class=""></div><div class=""><br class=""></div><div class="">This would replace the current default approach, which starts from a single time tn, solution yn and uses lower order BDF steps as you build up to the selected order.</div><div class=""><br class=""></div><div class="">I am not sure why, but an abrupt change in integration order or time step leads to unwanted numerical noise in my solution, which I blame on the high nonlinearity of the system (I have tested extensively to rule out bugs).<br class=""></div><div class=""><br class=""></div><div class="">Thank you and let me know if you have any questions,</div><div class=""><br class=""></div><div class="">-Alfredo<br class=""></div></div><br class=""><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Wed, Mar 9, 2022 at 4:49 PM Zhang, Hong <<a href="mailto:hongzhang@anl.gov" class="">hongzhang@anl.gov</a>> wrote:<br class=""></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">TSTrajectory supports checkpointing for multistage methods and can certainly be extended to multistep methods. But I doubt it is the best solution to Alfredo’s problem. Alfredo, can you elaborate a bit on what you would like to do? TSBDF_Restart is already using the previous solution to restart the integration with first-order BDF.<br class="">
<br class="">
Hong(Mr.)<br class="">
<br class="">
> On Mar 9, 2022, at 4:24 PM, Jed Brown <<a href="mailto:jed@jedbrown.org" target="_blank" class="">jed@jedbrown.org</a>> wrote:<br class="">
> <br class="">
> Can you restart using small low-order steps?<br class="">
> <br class="">
> Hong, does (or should) your trajectory stuff support an exact checkpointing scheme for BDF?<br class="">
> <br class="">
> I think we could add an interface to access the stored steps, but there are few things other than checkpointing that would make sense mathematically. Would you be up for making a merge request to add TSBDFGetStepVecs(TS ts, PetscInt *num_steps, const PetscReal **times, const Vec *vecs) and the respective setter? <br class="">
> <br class="">
> Alfredo J Duarte Gomez <<a href="mailto:aduarteg@utexas.edu" target="_blank" class="">aduarteg@utexas.edu</a>> writes:<br class="">
> <br class="">
>> Good morning PETSC team,<br class="">
>> <br class="">
>> I am currently using a TSBDF object, which is working very well.<br class="">
>> <br class="">
>> However, I am running into trouble restarting higher order BDF methods.<br class="">
>> <br class="">
>> My problem is highly nonlinear, and when restarted for higher order BDF<br class="">
>> methods (using the TSBDF_Restart function), wiggles appear in a specific<br class="">
>> region of the solution.<br class="">
>> <br class="">
>> Is there any way I can initialize the higher order BDF restart loading<br class="">
>> previous solutions from a data file? I took a look at the code, but there<br class="">
>> is no obvious way to do this.<br class="">
>> <br class="">
>> Thanks,<br class="">
>> <br class="">
>> -Alfredo<br class="">
>> <br class="">
>> -- <br class="">
>> Alfredo Duarte<br class="">
>> Graduate Research Assistant<br class="">
>> The University of Texas at Austin<br class="">
<br class="">
</blockquote></div><br clear="all" class=""><br class="">-- <br class=""><div dir="ltr" class="gmail_signature"><div dir="ltr" class=""><div class=""><div dir="ltr" class=""><font face="arial, sans-serif" class="">Alfredo Duarte</font><div class=""><font face="arial, sans-serif" class="">Graduate Research Assistant</font></div><div class=""><font face="arial, sans-serif" class="">The University of Texas at Austin</font></div></div></div></div></div>
</div></blockquote></div><br class=""></div></body></html>