[petsc-users] Customized Jacobi-Vector action approximation
Jonas Mairhofer
jonasmairhofer86 at gmail.com
Sat May 31 14:02:47 CDT 2014
Thank you both for your fast answers! I agree, that it might not make a big
difference using the centered difference formula, but just to get it from
my list of things that could help I will try and implement it. I don't
understand how I could miss this forum discussion when I was looking for a
way to implement this all day yesterday, but the second link I got now
from google typing "petsc MatShell" is a long discussion you had with
another user on exactly what I want to do :) Just in case anyone else is
looking for the same thing :
http://lists.mcs.anl.gov/pipermail/petsc-users/2010-August/006821.html
On Sat, May 31, 2014 at 6:07 PM, Barry Smith <bsmith at mcs.anl.gov> wrote:
>
> You might consider trying some of the non-Newton based nonlinear solvers
> now available in the development version of PETSc
> http://www.mcs.anl.gov/petsc/developers/index.html Here is a list of
> them see their manual pages for more details
>
>
>
>
>
> On May 31, 2014, at 10:02 AM, Jonas Mairhofer <
> mairhofer at itt.uni-stuttgart.de> wrote:
>
> > Hi all,
> >
> > I am using PETSc to solve a system of nonlinear equations arising from
> Density Functional Theory. Depending on the actual problem setup the
> residulas of the matrix-free linear solver (GMRES)
> > stagnate and the nonlinear system converges only slowly.
> > Besides preconditioning my second idea to improve the performance of the
> linear solver was to use a higher order approximation of the Jacobi-vector
> product. Therefore, I am trying to write a user defined subroutine that
> calculates the approximation of the matrix-free Jacobi-Vector product, i.e.
> I would like to have a routine which can replace the default 1st order
> approximation
> >
> > J(x)*v = (F(x+eps*v) - F(x) ) / eps
> >
> > for instance by a 2nd order approximation such as
> >
> > J(x)*v = (F(x+eps*v) - F(x-eps*v) ) / 2eps
> >
> > So assuming that I have a subroutine which claculates the approximation
> of J(x)*v, how do I get PETSc to use this result in the SNES solver?
> >
> > Thank you very much,
> > Jonas
>
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.mcs.anl.gov/pipermail/petsc-users/attachments/20140531/98bbac11/attachment.html>
More information about the petsc-users
mailing list