[petsc-users] Reproducibility when restarting generalized-alpha

Stefano Zampini stefano.zampini at gmail.com
Thu Jan 2 12:41:45 CST 2025


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 at 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
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.mcs.anl.gov/pipermail/petsc-users/attachments/20250102/ec373d17/attachment.html>


More information about the petsc-users mailing list