Resetting solver after convergence failure. #2727
Replies: 3 comments 1 reply
-
I guess this wasn't a very good question - anyway I've made it work by simply instantiating a new solver for each new value of Pr. |
Beta Was this translation helpful? Give feedback.
-
I think it should be the case that reinitialising the initial guess to a safe value (say zero) should be enough. Can you show a minimal example that breaks? |
Beta Was this translation helpful? Give feedback.
-
Thanks, there is example at https://github.com/ethrelfall/Firedrake-questions/tree/main/10Feb2023 The inner loop runs until Ra gets too high and it fails - I then want to do the next pass of the inner loop but this fails because of the earlier failure. I tried to reset the fields using interpolate, but it still fails (me doing the reset wrong, probably?). |
Beta Was this translation helpful? Give feedback.
Uh oh!
There was an error while loading. Please reload this page.
-
Dear community,
I'm running a parameter space scan for a convection simulation - two parameters, Rayleigh number Ra and Prandtl number Pr.
I'm doing a simple continuation method, outer loop picks a value for Pr and then inner loop over increasing Ra starting from 1. Let's say I iterate over Ra increasing until a convergence failure happens, then I want to increment Pr and restart the Ra from 1 (I do this by catching the exception and breaking out of the inner loop).
My question is how can I reset the solver after a convergence failure has occurred - at the moment, the next simulation after the convergence failure still seems to have memory of the failure, i.e. some bad values some how, (so it fails too, as a result of this) and I want to restart from a "clean" condition.
I've tried using interpolate to re-initialize the functions involved but this seems to have no effect.
Did search for matching discussion - nada.
Thanks,
Ed.
Beta Was this translation helpful? Give feedback.
All reactions