[petsc-dev] Jacobian lag persist with ROSW method

Jed Brown jed at jedbrown.org
Sat Mar 8 19:22:09 CST 2014


Peter Brune <brune at mcs.anl.gov> writes:

> You can control Jacobian lagging with -snes_lag_jacobian and
> -snes_lag_jacobian_presists by setting the option
> -ts_rosw_recompute_jacobian to true.  Otherwise it defaults to having it
> recompute once per timestep by setting the SNES to do so, wiping out the
> persistent lagging.  This will give you a rather odd pattern of Jacobian
> assembly, and I don't recommend it at all.  Your Jacobian will often be
> computed on the unconverged nonlinear solution, and may be garbage.  What
> would be more reasonable is for us to add some option at the TS level to
> lag the Jacobian by a number of steps.

Rosenbrocks are linearly implicit and have to use the true Jacobian (so
if you play games with lagging, the method is no longer consistent).
The W methods can use an approximate Jacobian, but the method has no way
to know how often the Jacobian needs to be updated (the method becomes
unstable if you lag too much).  If you want to lag further than a step,
I recommend writing a Rosenbrock (W) with more stages.  This way you
have a consistent error estimator and don't need a special controller.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 835 bytes
Desc: not available
URL: <http://lists.mcs.anl.gov/pipermail/petsc-dev/attachments/20140308/79fd97bc/attachment.sig>


More information about the petsc-dev mailing list