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