[petsc-users] preconditioning matrix-free newton-krylov
Mark Lohry
mlohry at gmail.com
Sat Sep 23 14:28:54 CDT 2017
Great, thanks Barry.
On Sat, Sep 23, 2017 at 3:12 PM, Barry Smith <bsmith at mcs.anl.gov> wrote:
>
> > On Sep 23, 2017, at 12:48 PM, Mark W. Lohry <mlohry at princeton.edu>
> wrote:
> >
> > I'm currently using JFNK in an application where I don't have a
> hand-coded jacobian, and it's working well enough but as expected the
> scaling isn't great.
> >
> > What is the general process for using PC with MatMFFDComputeJacobian?
> Does it make sense to occasionally have petsc re-compute the jacobian via
> finite differences, and then recompute the preconditioner? Any that just
> need the sparsity structure?
>
> Mark
>
> Yes, this is a common approach. SNESSetLagJacobian -snes_lag_jacobian
>
> The normal approach in SNES to use matrix-free for the operator and
> use finite differences to compute an approximate Jacobian used to construct
> preconditioners is to to create a sparse matrix with the sparsity of the
> approximate Jacobian (yes you need a way to figure out the sparsity, if you
> use DMDA it will figure out the sparsity for you). Then you use
>
> SNESSetJacobian(snes,J,J, SNESComputeJacobianDefaultColor, NULL);
>
> and use the options database option -snes_mf_operator
>
>
> > Are there any PCs that don't work in the matrix-free context?
>
> If you do the above you can use almost all the PC since you are
> providing an explicit matrix from which to build the preconditioner
>
> > Are there any example codes I overlooked?
> >
> > Last but not least... can the Boomer-AMG preconditioner work with JFNK?
> To really show my ignorance of AMG, can it actually be written as a matrix
> P^-1(Ax-b)=0, , or is it just a linear operator?
>
> Again, if you provide an approximate Jacobian like above you can use it
> with BoomerAMG, if you provide NO explicit matrix you cannot use BoomerAMG
> or almost any other preconditioner.
>
> Barry
>
> >
> > Thanks,
> > Mark
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.mcs.anl.gov/pipermail/petsc-users/attachments/20170923/0a9ec47b/attachment.html>
More information about the petsc-users
mailing list