Thanks guys. Was asking on behalf of a final year PhD student here at MIT, he has a new method for inferring parameters, basically focuses directly on relevant QoIs for prediction rather than all parameters (strong parallels to goal oriented adaptivity). We are trying to see if using libMesh can be useful to him to demonstrate the method on a CO2 sequestration problem. 

He needs AD for more than Jacobian entries. He is doing an optimization loop, where he needs AD to compute the gradient for use in the optimization routine. Basically getting derivatives of the stiffness matrix entries w.r.t the parameters. 


On Mon, Sep 17, 2012 at 2:20 PM, Derek Gaston <> wrote:
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

Vikram Garg