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.

   Barry


> On Mar 10, 2022, at 11:05 AM, Alfredo J Duarte Gomez <[email protected]> 
> wrote:
> 
> Hello Zhang and Hong,
> 
> Thank you for your reply.
> 
> As I described, I simply wanted to be able to restart a higher order BDF from 
> a previous solution. 
> 
> 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. 
> 
> 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.
> 
> 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).
> 
> Thank you and let me know if you have any questions,
> 
> -Alfredo
> 
> On Wed, Mar 9, 2022 at 4:49 PM Zhang, Hong <[email protected] 
> <mailto:[email protected]>> wrote:
> 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.
> 
> Hong(Mr.)
> 
> > On Mar 9, 2022, at 4:24 PM, Jed Brown <[email protected] 
> > <mailto:[email protected]>> wrote:
> > 
> > Can you restart using small low-order steps?
> > 
> > Hong, does (or should) your trajectory stuff support an exact checkpointing 
> > scheme for BDF?
> > 
> > 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? 
> > 
> > Alfredo J Duarte Gomez <[email protected] <mailto:[email protected]>> 
> > writes:
> > 
> >> Good morning PETSC team,
> >> 
> >> I am currently using a TSBDF object, which is working very well.
> >> 
> >> However, I am running into trouble restarting higher order BDF methods.
> >> 
> >> My problem is highly nonlinear, and when restarted for higher order BDF
> >> methods (using the TSBDF_Restart function), wiggles appear in a specific
> >> region of the solution.
> >> 
> >> Is there any way I can initialize the higher order BDF restart loading
> >> previous solutions from a data file? I took a look at the code, but there
> >> is no obvious way to do this.
> >> 
> >> Thanks,
> >> 
> >> -Alfredo
> >> 
> >> -- 
> >> Alfredo Duarte
> >> Graduate Research Assistant
> >> The University of Texas at Austin
> 
> 
> 
> -- 
> Alfredo Duarte
> Graduate Research Assistant
> The University of Texas at Austin

Reply via email to