Sacado is the AD package in Trilinos:

It works off expression templating and can be dealt with in an object-oriented code (although not optimally in my experience).

If you get it working well with libMesh I would be interested in how you did it.

Another question: Are you sure you need AD?  If you're just trying to compute Jacobian entries and you're doing fully-coupled solves of multiple physics... you might think about using Jacobian Free Newton-Krylov (JFNK) instead.  This is what we do with MOOSE.  We've done some preliminary stuff on CO2 sequestration with MOOSE and it's worked well...

If you're using it for adjoints / sensitivity stuff then there might be no other option....


On Mon, Sep 17, 2012 at 12:14 PM, John Peterson <> wrote:
On Mon, Sep 17, 2012 at 11:28 AM, Vikram Garg <> wrote:
> 2) Does anybody have any experience building a CO2 sequestration (or
> related) application in libMesh ?

These guys used libmesh for a CO2 sequestration benchmark study:

H. Class et al. A benchmark study on problems related to CO2 storage
in geologic formations. Computational Geosciences, 13(4):409-434,
December 2009.


Live Security Virtual Conference
Exclusive live event will cover all the ways today's security and
threat landscape has changed and how IT managers can respond. Discussions
will include endpoint security, mobile security and the latest in malware
Libmesh-devel mailing list