[petsc-users] TSBDF prr-load higher order solution

Jed Brown jed at jedbrown.org
Thu Mar 10 10:13:25 CST 2022


I think this is a reasonable thing to ask for, despite the IO data sizes being larger. I'd also note that the adaptive controller can have more "memory" in how it selects steps, so it'd be nice to have TSAdaptView/TSAdaptLoad so you can restart from a checkpoint without any impact on the trajectory.

Alfredo J Duarte Gomez <aduarteg at utexas.edu> writes:

> 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 <hongzhang at anl.gov> 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 <jed at jedbrown.org> 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 <aduarteg at utexas.edu> 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


More information about the petsc-users mailing list