On Thu, 24 Jun 2010 19:28:10 -0500, "Kirk, Benjamin (JSC-EG311)" 
<[email protected]> wrote:
> In my case I cache what I can, but still the behavior is as follows:
> 
> 1) calculate residual
> 2) calculate jacobian. solve for update using (1) as rhs.
> 3) compute residual again and check against (1)
> 
> In my case it is common to do this once at each time step - that is,  
> solve the nonlinear problem very approximately.
> 
> In this case, why bother with the second residual evaluation? Is (3)  
> necessary?

It is only necessary if you want to know whether it converged (even to
your weak tolerance).  The default is of course to check, but you can

  -snes_max_it 1                   # Do a maximum of one linear solve
  -snes_ls basicnonorms            # Don't do a line search and don't even 
                                   # compute the residual (3)
  -snes_convergence_test skip      # Skip the convergence test before
                                   # evaluating the Jacobian.  SNES will
                                   # normally bail out early if it starts
                                   # with a sufficiently small residual.

or with petsc-dev, -snes_type ksponly.  Note that linearly implicit
methods may have significantly worse stability and accuracy properties,
but hopefully you understand your system well enough to know how it
behaves.

Jed

------------------------------------------------------------------------------
ThinkGeek and WIRED's GeekDad team up for the Ultimate 
GeekDad Father's Day Giveaway. ONE MASSIVE PRIZE to the 
lucky parental unit.  See the prize list and enter to win: 
http://p.sf.net/sfu/thinkgeek-promo
_______________________________________________
Libmesh-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/libmesh-users

Reply via email to