<div>(sorry in advance for the cross-posting)</div><div><br></div>Dear all,<br>    I recently decided to use in my program the routine &quot;PetscOptionsSetValue&quot; to allow to change at runtime the parameter of KSP/SNES. Of course, my code performs several operations on different KSP and SNES objects. Every object should have its own set of options (different tollerancies, different preconditioner) and I want to tune it at runtime. So &quot;PetscOptionsSetValue&quot; it is great. But I have a question: when I set an option, this option is still valid for all the program.<br>

<br>Let&#39;s assume this situation (it is an example, I use fake options):<br><br>PetscOptionsSetValue(&quot;A&quot;, &quot;1&quot;);<br>PetscOptionsSetValue(&quot;B&quot;, &quot;2&quot;);<br>PetscOptionsSetValue(&quot;C&quot;, &quot;3&quot;);<br>

<br>ierr = KSPSolve();<br><br>PetscOptionsSetValue(&quot;A&quot;, &quot;10&quot;);<br>PetscOptionsSetValue(&quot;B&quot;, &quot;20&quot;);<br><br>ierr = SNESSolve();<br><br><br>This is what happens (if I correcly understood):<br>

- KSP runs with this presets {A=1, B=2, C=3} that are different than<br>the defaults.<br>- SNES runs with this presets {A=10, B=20, C=3}.<br>So SNES runs with C=3 that is different from the default. But I would like to use the default because C=3 produces wrong errors. How I can easily reset the options&#39; database?<br>

<br>Thanks in advance,<br>Cheers<br><br>--<br>Filippo SPIGA, MSc Computer Science<br><br>«Nobody will drive us out of Cantor&#39;s paradise.»<br>    -- David Hilbert<br><br>*****<br>Disclaimer: &quot;Please note this message and any attachment are CONFIDENTIAL an may be privileged or otherwise protected from disclosure. The contents are not to be disclosed to anyone other than the addressee. Unauthorized recipients are requested to preserve this confidentiality and to advise the sender immediately of any error in transmission.&quot;<br>

<br>