<head><!-- BaNnErBlUrFlE-HeAdEr-start -->
<style>
  #pfptBanneroorghe4 { all: revert !important; display: block !important; 
    visibility: visible !important; opacity: 1 !important; 
    background-color: #D0D8DC !important; 
    max-width: none !important; max-height: none !important }
  .pfptPrimaryButtonoorghe4:hover, .pfptPrimaryButtonoorghe4:focus {
    background-color: #b4c1c7 !important; }
  .pfptPrimaryButtonoorghe4:active {
    background-color: #90a4ae !important; }
</style>

<!-- BaNnErBlUrFlE-HeAdEr-end -->
</head><!-- BaNnErBlUrFlE-BoDy-start -->
<!-- Preheader Text : BEGIN -->
<div style="display:none !important;display:none;visibility:hidden;mso-hide:all;font-size:1px;color:#ffffff;line-height:1px;height:0px;max-height:0px;opacity:0;overflow:hidden;">
 On Mon, Jun 24, 2024 at 11: 38 AM Samar Khatiwala <samar. khatiwala@ earth. ox. ac. uk> wrote: Hi Matt, This would be for SNES and KSP. In many of my applications it would be too expensive to regenerate the Krylov space, which would also be
</div>
<!-- Preheader Text : END -->

<!-- Email Banner : BEGIN -->
<div style="display:none !important;display:none;visibility:hidden;mso-hide:all;font-size:1px;color:#ffffff;line-height:1px;height:0px;max-height:0px;opacity:0;overflow:hidden;">ZjQcmQRYFpfptBannerStart</div>

<!--[if ((ie)|(mso))]>
  <table border="0" cellspacing="0" cellpadding="0" width="100%" style="padding: 16px 0px 16px 0px; direction: ltr" ><tr><td>
    <table border="0" cellspacing="0" cellpadding="0" style="padding: 0px 10px 5px 6px; width: 100%; border-radius:4px; border-top:4px solid #90a4ae;background-color:#D0D8DC;"><tr><td valign="top">
      <table align="left" border="0" cellspacing="0" cellpadding="0" style="padding: 4px 8px 4px 8px">
        <tr><td style="color:#000000; font-family: 'Arial', sans-serif; font-weight:bold; font-size:14px; direction: ltr">
          This Message Is From an External Sender
        </td></tr>
        <tr><td style="color:#000000; font-weight:normal; font-family: 'Arial', sans-serif; font-size:12px; direction: ltr">
          This message came from outside your organization.
        </td></tr>

      </table>

    </td></tr></table>
  </td></tr></table>
<![endif]-->

<![if !((ie)|(mso))]>
  <div dir="ltr"  id="pfptBanneroorghe4" style="all: revert !important; display:block !important; text-align: left !important; margin:16px 0px 16px 0px !important; padding:8px 16px 8px 16px !important; border-radius: 4px !important; min-width: 200px !important; background-color: #D0D8DC !important; background-color: #D0D8DC; border-top: 4px solid #90a4ae !important; border-top: 4px solid #90a4ae;">
    <div id="pfptBanneroorghe4" style="all: unset !important; float:left !important; display:block !important; margin: 0px 0px 1px 0px !important; max-width: 600px !important;">
      <div id="pfptBanneroorghe4" style="all: unset !important; display:block !important; visibility: visible !important; background-color: #D0D8DC !important; color:#000000 !important; color:#000000; font-family: 'Arial', sans-serif !important; font-family: 'Arial', sans-serif; font-weight:bold !important; font-weight:bold; font-size:14px !important; line-height:18px !important; line-height:18px">
        This Message Is From an External Sender
      </div>
      <div id="pfptBanneroorghe4" style="all: unset !important; display:block !important; visibility: visible !important; background-color: #D0D8DC !important; color:#000000 !important; color:#000000; font-weight:normal; font-family: 'Arial', sans-serif !important; font-family: 'Arial', sans-serif; font-size:12px !important; line-height:18px !important; line-height:18px; margin-top:2px !important;">
This message came from outside your organization.
      </div>

    </div>

    <div style="clear: both !important; display: block !important; visibility: hidden !important; line-height: 0 !important; font-size: 0.01px !important; height: 0px"> </div>
  </div>
<![endif]>

<div style="display:none !important;display:none;visibility:hidden;mso-hide:all;font-size:1px;color:#ffffff;line-height:1px;height:0px;max-height:0px;opacity:0;overflow:hidden;">ZjQcmQRYFpfptBannerEnd</div>
<!-- Email Banner : END -->

<!-- BaNnErBlUrFlE-BoDy-end -->
<div dir="ltr"><div dir="ltr">On Mon, Jun 24, 2024 at 11:38 AM Samar Khatiwala <<a href="mailto:samar.khatiwala@earth.ox.ac.uk">samar.khatiwala@earth.ox.ac.uk</a>> wrote:<br></div><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">



<div>
Hi Matt,
<div><br>
</div>
<div>This would be for SNES and KSP. In many of my applications it would be too expensive to regenerate the Krylov space, which would also be problematic for Newton as I often do matrix-free calculations.</div>
<div><br>
</div>
<div>I know how complex the underlying data structures are for these objects and entirely understand how difficult it would be to provide a general checkpointing facility. Still, I do dream that one day I’ll be able to do Save(snes,...) and Load(snes,…) ...</div></div></blockquote><div><br></div><div>Let's talk specifically about SNES. I think this works now. It would be good to find out why you think it does not. You can do</div><div>SNESView() and it will serialize the solver, and VecView() to serialize the current solution. Then you SNESLoad() and VecLoad()</div><div>and call SNESSolve() with that solution as the initial guess.</div><div><br></div><div>  Thanks,</div><div><br></div><div>    Matt</div><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div>
<div>Thanks,</div>
<div><br>
</div>
<div>Samar</div>
<div><br>
</div>
<div>
<div>
<blockquote type="cite">
<div>On Jun 24, 2024, at 12:15 PM, Matthew Knepley <<a href="mailto:knepley@gmail.com" target="_blank">knepley@gmail.com</a>> wrote:</div>
<br>
<div>
<div dir="ltr" style="font-family:Helvetica;font-size:12px;font-style:normal;font-variant-caps:normal;font-weight:400;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;text-decoration:none">
<div dir="ltr">On Mon, Jun 24, 2024 at 4:24 AM Samar Khatiwala <<a href="mailto:samar.khatiwala@earth.ox.ac.uk" target="_blank">samar.khatiwala@earth.ox.ac.uk</a>> wrote:<br>
</div>
<div class="gmail_quote">
<blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
<div><u></u>
<div dir="ltr" id="m_1360518977527784858m_3277122848861477856pfptBannerq3zgojy" style="display:block;text-align:left;margin:16px 0px;padding:8px 16px;border-radius:4px;min-width:200px;background-color:rgb(208,216,220);border-top:4px solid rgb(144,164,174)">
<div id="m_1360518977527784858m_3277122848861477856pfptBannerq3zgojy" style="float:left;display:block;margin:0px 0px 1px;max-width:600px">
<div id="m_1360518977527784858m_3277122848861477856pfptBannerq3zgojy" style="display:block;background-color:rgb(208,216,220);font-family:Arial,sans-serif;font-weight:bold;font-size:14px;line-height:18px">
This Message Is From an External Sender</div>
<div id="m_1360518977527784858m_3277122848861477856pfptBannerq3zgojy" style="font-weight:normal;display:block;background-color:rgb(208,216,220);font-family:Arial,sans-serif;font-size:12px;line-height:18px;margin-top:2px">
This message came from outside your organization.</div>
</div>
<div style="height:0px;clear:both;display:block;line-height:0;font-size:0.01px">
 </div>
</div>
<u></u>
<div>Hi, 
<div><br>
</div>
<div>
<div>Sorry to hijack this thread but I just want to add that this is a more general problem that I constantly face with PETSc. Not being able to checkpoint the complete state of a solver instance and restart a computation (at least not easily) has long been
 the biggest missing feature in PETSc for me.</div>
</div>
</div>
</div>
</blockquote>
<div><br>
</div>
<div>Which type of solver do you want to do this for? Some solvers, like Newton, just need the current iterate, which we do. You could imagine saving Krylov spaces, but it is very often cheaper to regenerate them than to save and load them from disk (which
 tends to be under-provisioned).</div>
<div><br>
</div>
<div>  Thanks,</div>
<div><br>
</div>
<div>    Matt</div>
<div> </div>
<blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
<div>
<div>
<div>
<div>Thanks,</div>
<div><br>
</div>
<div>Samar</div>
<div><br>
<blockquote type="cite">
<div>On Jun 24, 2024, at 9:14 AM, Jose E. Roman via petsc-users <<a href="mailto:petsc-users@mcs.anl.gov" target="_blank">petsc-users@mcs.anl.gov</a>> wrote:</div>
<br>
<div>
<div dir="ltr" id="m_1360518977527784858m_3277122848861477856pfptBanner2uxu8e3" style="font-family:revert;text-align:left;display:block;background-color:rgb(208,216,220);margin:16px 0px;padding:8px 16px;border-radius:4px;min-width:200px">
<div id="m_1360518977527784858m_3277122848861477856pfptBanner2uxu8e3" style="writing-mode:unset;color:unset;font-family:unset;font-feature-settings:unset;font-kerning:unset;font-size:unset;font-stretch:unset;font-variant:unset;font-weight:unset;text-orientation:unset;zoom:unset;letter-spacing:unset;background-blend-mode:unset;background-image:unset;background-size:unset;border-collapse:unset;box-sizing:unset;break-after:unset;break-before:unset;break-inside:unset;caption-side:unset;clear:unset;columns:unset;column-fill:unset;column-gap:unset;column-rule:unset;column-span:unset;empty-cells:unset;float:left;isolation:unset;line-break:unset;line-height:unset;list-style:unset;mix-blend-mode:unset;object-fit:unset;object-position:unset;outline:unset;overflow:unset;quotes:unset;table-layout:unset;text-align:unset;text-align-last:unset;text-decoration:unset;text-indent:unset;text-overflow:unset;text-transform:unset;text-underline-position:unset;vertical-align:unset;white-space:unset;word-break:unset;word-spacing:unset;border-spacing:unset;background-clip:unset;background-origin:unset;text-combine-upright:unset;display:block;opacity:unset;background-color:unset;border:unset;border-radius:unset;height:unset;max-height:unset;min-height:unset;min-width:unset;padding:unset;width:unset;margin:0px 0px 1px;max-width:600px;background-position:unset;background-repeat:unset">
<div id="m_1360518977527784858m_3277122848861477856pfptBanner2uxu8e3" style="writing-mode:unset;font-family:Arial,sans-serif;font-feature-settings:unset;font-kerning:unset;font-size:14px;font-stretch:unset;font-variant:unset;font-weight:bold;text-orientation:unset;zoom:unset;letter-spacing:unset;background-blend-mode:unset;background-image:unset;background-size:unset;border-collapse:unset;box-sizing:unset;break-after:unset;break-before:unset;break-inside:unset;caption-side:unset;clear:unset;columns:unset;column-fill:unset;column-gap:unset;column-rule:unset;column-span:unset;empty-cells:unset;float:unset;isolation:unset;line-break:unset;line-height:18px;list-style:unset;mix-blend-mode:unset;object-fit:unset;object-position:unset;outline:unset;overflow:unset;quotes:unset;table-layout:unset;text-align:unset;text-align-last:unset;text-decoration:unset;text-indent:unset;text-overflow:unset;text-transform:unset;text-underline-position:unset;vertical-align:unset;white-space:unset;word-break:unset;word-spacing:unset;border-spacing:unset;background-clip:unset;background-origin:unset;text-combine-upright:unset;display:block;opacity:unset;background-color:rgb(208,216,220);border:unset;border-radius:unset;height:unset;margin:unset;max-height:unset;max-width:unset;min-height:unset;min-width:unset;padding:unset;width:unset;background-position:unset;background-repeat:unset">
This Message Is From an External Sender</div>
<div id="m_1360518977527784858m_3277122848861477856pfptBanner2uxu8e3" style="writing-mode:unset;font-family:Arial,sans-serif;font-feature-settings:unset;font-kerning:unset;font-size:12px;font-stretch:unset;font-variant:unset;font-weight:unset;text-orientation:unset;zoom:unset;letter-spacing:unset;background-blend-mode:unset;background-image:unset;background-size:unset;border-collapse:unset;box-sizing:unset;break-after:unset;break-before:unset;break-inside:unset;caption-side:unset;clear:unset;columns:unset;column-fill:unset;column-gap:unset;column-rule:unset;column-span:unset;empty-cells:unset;float:unset;isolation:unset;line-break:unset;line-height:18px;list-style:unset;mix-blend-mode:unset;object-fit:unset;object-position:unset;outline:unset;overflow:unset;quotes:unset;table-layout:unset;text-align:unset;text-align-last:unset;text-decoration:unset;text-indent:unset;text-overflow:unset;text-transform:unset;text-underline-position:unset;vertical-align:unset;white-space:unset;word-break:unset;word-spacing:unset;border-spacing:unset;background-clip:unset;background-origin:unset;text-combine-upright:unset;display:block;opacity:unset;background-color:rgb(208,216,220);border:unset;border-radius:unset;height:unset;max-height:unset;max-width:unset;min-height:unset;min-width:unset;padding:unset;width:unset;background-position:unset;background-repeat:unset">
This message came from outside your organization.</div>
</div>
<div style="height:0px;clear:both;display:block;line-height:0;font-size:0.01px">
</div>
</div>
<pre style="font-size:12px;font-style:normal;font-variant-caps:normal;font-weight:400;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;word-spacing:0px;text-decoration:none;font-family:sans-serif;white-space:pre-wrap">Unfortunately there is no support for this.

If you requested several eigenvalues and the solver has converged some of them already, then it would be possible to stop the run, save the eigenvectors and rerun with the eigenvectors passed via EPSSetDeflationSpace().

Jose


> El 24 jun 2024, a las 0:21, Marildo Kola <<a href="mailto:marildo.kola@gmail.com" target="_blank">marildo.kola@gmail.com</a>> escribió:

> This Message Is From an External Sender
> This message came from outside your organization.
> Hello,
> I am using SLEPc to calculate eigenvalues for fluid dynamics stability analysis (specifically studying bifurcations). We employ a MatShellOperation, which involves propagating Navier-Stokes to construct the Krylov space, and this particularly slows down our algorithm. The problem I am facing is that, after days of simulations, the simulation may die due to a time limit on the cluster, but the eigensolver (I am using the default Krylov-Schur) has not converged yet, leading to the loss of all the information computed up to that point. I wanted to inquire if it is possible to implement, with the available features, a restarting strategy, which can allow me, once the simulation stops (or after a given number of restart iterations of the solver), to save all the information necessary to restart the EPSSolver from the point it had stopped.
> Thank you in advance,
> Best regards, Marildo Kola


</pre>
<br>
</div>
</blockquote>
</div>
<br>
</div>
</div>
</div>
</blockquote>
</div>
<br clear="all">
<div><br>
</div>
<span class="gmail_signature_prefix">--<span> </span></span><br>
<div dir="ltr" class="gmail_signature">
<div dir="ltr">
<div>
<div dir="ltr">
<div>
<div dir="ltr">
<div>What most experimenters take for granted before they begin their experiments is infinitely more interesting than any results to which their experiments lead.<br>
-- Norbert Wiener</div>
<div><br>
</div>
<div><a href="https://urldefense.us/v3/__http://www.cse.buffalo.edu/*knepley/__;fg!!G_uCfscf7eWS!eqOVZGVAqNSjCctZz15A80QkgJt28WLpriJPEkHdcCiN1vrJ4RfXPebAjRgUJQsG16l6LF3_JF75uFfyfnKY$" target="_blank">https://www.cse.buffalo.edu/~knepley/</a></div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</blockquote>
</div>
<br>
</div>
</div>

</blockquote></div><br clear="all"><div><br></div><span class="gmail_signature_prefix">-- </span><br><div dir="ltr" class="gmail_signature"><div dir="ltr"><div><div dir="ltr"><div><div dir="ltr"><div>What most experimenters take for granted before they begin their experiments is infinitely more interesting than any results to which their experiments lead.<br>-- Norbert Wiener</div><div><br></div><div><a href="https://urldefense.us/v3/__http://www.cse.buffalo.edu/*knepley/__;fg!!G_uCfscf7eWS!eqOVZGVAqNSjCctZz15A80QkgJt28WLpriJPEkHdcCiN1vrJ4RfXPebAjRgUJQsG16l6LF3_JF75uFfyfnKY$" target="_blank">https://www.cse.buffalo.edu/~knepley/</a><br></div></div></div></div></div></div></div></div>