[petsc-users] Matrix-Free J*v in PETSc
Matthew Knepley
knepley at gmail.com
Tue Jul 8 05:33:23 CDT 2025
Also note that MatShell is _exactly_ the same as the CVODE interface. It is
just a wrapper for that function pointer so that we do not need to change
the top-level interface.
Thanks,
Matt
On Tue, Jul 8, 2025 at 2:10 AM Jed Brown <jed at jedbrown.org> wrote:
> Using MatShell is the standard method. Note that MatShell allows exposing
> other "matrix operations", such as producing a diagonal or other
> preconditioning ingredients.
>
> Art <mac3bar at gmail.com> writes:
>
> > Hi all,
> >
> > I am integrating a stiff system of ODEs/PDEs using PETSc TS (typically
> with
> > BDF or other implicit time-stepping schemes), and I would like to exploit
> > the fact that I can efficiently compute the action of the Jacobian on a
> > vector (Jv) without assembling the full Jacobian matrix. Since for a
> large
> > system it becomes expensive to assemble the Jacobian in each iteration.
> In
> > scikits.odes (SUNDIALS/CVODE), there is a native API for passing only a
> J*v
> > routine to the time integrator. In my experience, when I use only a
> > Jacobian-vector product routine (without assembling the full matrix), the
> > performance improves significantly for large systems. However, in PETSc
> TS,
> > the workflow seems more matrix-centric, and I have only found the
> > possibility to use MatShell for the Jacobian
> >
> > Is there a way to do something similar in PETSc TS (for BDF or other
> > implicit schemes)?
> >
> > Currently, I use the matrix-free Newton-Krylov method to approximate the
> > Jacobian and have adjusted the tolerances to achieve convergence, as
> > recommended by Barry. In that case, I obtain similar integration times
> > with scikits.odes CVODE without using the Jacobian times vector.
> >
> > Best regards,
> >
> > Art
>
--
What most experimenters take for granted before they begin their
experiments is infinitely more interesting than any results to which their
experiments lead.
-- Norbert Wiener
https://urldefense.us/v3/__https://www.cse.buffalo.edu/*knepley/__;fg!!G_uCfscf7eWS!ee4C66EMPaHUhn55k5ZDEY4tEPmxzmhPifOJHGQtd6NBISPZb8UlupQ3u-o3Vt7n7NjYikEhGokM92hphqtq$ <https://urldefense.us/v3/__http://www.cse.buffalo.edu/*knepley/__;fg!!G_uCfscf7eWS!ee4C66EMPaHUhn55k5ZDEY4tEPmxzmhPifOJHGQtd6NBISPZb8UlupQ3u-o3Vt7n7NjYikEhGokM90c1eT9N$ >
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.mcs.anl.gov/pipermail/petsc-users/attachments/20250708/25a4924a/attachment.html>
More information about the petsc-users
mailing list