Note that BDF has the same issue. I think the correct way to handle this is
to support storing/loading these extra vectors via TSView()/TSLoad().
How are you currently restarting the simulation?

Il giorno gio 2 gen 2025 alle ore 19:25 David Kamensky via petsc-users <
petsc-users@mcs.anl.gov> ha scritto:

> Hi,
>
> I've recently been helping some co-workers with restarting PETSc time
> integrators from saved solution data.
>
> It looks like the only supported path for restarting the generalized-alpha
> integrator for 2nd-order-in-time systems (`TSALPHA2`) is to follow the same
> procedure as initialization, in which two first-order-accurate half-steps
> are used to estimate an acceleration from the given displacement and
> velocity.  However, the resulting acceleration is not exactly equivalent to
> the intermediate one that would have been used by the integrator if the
> integration simply proceeded without restarting.  This prevents exact
> reproducibility of computations from saved intermediate results.  (An
> analogous issue would also affect `TSALPHA` for first-order-in-time
> problems, where velocity is estimated on initialization/restart.)
>
> Am I misunderstanding this, or missing a better method of restarting the
> 2nd-order generalized-alpha integrator?  If not, would there be interest in
> adding an alternate initialization/restart option to the `TSALPHA2`
> integrator that takes a user-provided `Vec` for the initial/intermediate
> acceleration, and skips over the half-step estimation procedure?
>
> Thanks, David
>


-- 
Stefano

Reply via email to