On Mon, Nov 2, 2015 at 7:29 PM, Barry Smith <[email protected]> wrote:
> > > On Oct 30, 2015, at 12:23 PM, Zou (Non-US), Ling <[email protected]> > wrote: > > > > Hi All, > > > > From physics point of view, I know my simulation converges if nothing > changes any more. > > > > I wonder how normally you do to detect if your simulation reaches steady > state from numerical point of view. > > Is it a good practice to use SNES convergence as a criterion, i.e., > > SNES converges and it takes 0 iteration(s) > > Depends on the time integrator and SNES tolerance you are using. If you > use a -snes_rtol 1.e-5 it will always try to squeeze 5 MORE digits out of > the residual so won't take 0 iterations even if there is only a small > change in the solution. > There are two different situations here: 1) Solving for a mathematical steady state. You remove the time derivative and solve the algebraic system with SNES. Then the SNES tolerance is a good measure. 2) Use timestepping to advance until nothing looks like it is changing. This is a "physical" steady state. You can use 1) with a timestepping preconditioner TSPSEUDO, which is what I would recommend if you want a true steady state. Thanks, Matt > > > > Thanks, > > > > Ling > > -- What most experimenters take for granted before they begin their experiments is infinitely more interesting than any results to which their experiments lead. -- Norbert Wiener
