[Trilinos-Users] [EXTERNAL] Parameter sensitivity framework

Salinger, Andrew agsalin at sandia.gov
Fri Oct 3 14:59:30 MDT 2014


Dave,

Piro attempts to provide a uniform interface around several solvers:
NOX nonlinear solves, LOCA continuation and bifurcation tracking,
Rythmos time integration,  Stokhos stochastic-Galerkin, and soon
the Rol PDE-constrained optimization code.

In all cases, Piro solvers require a ModelEvaluator interface to the
application code, so the solvers can query the application for
residual vector, jacobian matrix, responses (such as objective functions),
response gradients, etc.

We have attempted to provide sensitivity analysis capabilities as we
go, so that we not only get the solution, but its sensitivity w.r.t.
parameters, and the responses, and their sensitivities. I think we have
complete functionality for the steady-state capabilities (NOX and LOCA).
My memory is that for transient problems (Rythmos), we can compute sensitivities
of the solution w.r.t parameters, and sensitivities of a terminal response
(one that is only a function of the final solution). But we can not currently
calculate sensitivities of an integrated response that accumulates over
the run. We would love to add this in. We have just started getting adjoint
sensitivities for steady problems, so this code exists but has not been matured.
Piro/Rythmos does not have any code for adjoint sensitivities of transient runs
and there is no planned work to do this.

One part that works well is that all of these Piro solvers can be wrapped by the
Piro Analysis method, and can be driven by the Dakota toolkit for Optimization and
sampling UQ. The sensitivity analysis of responses are exactly the gradients of
the objective function (same math, different vocabulary) for gradient-based
optimization algorithms.

The examples in Piro are minimal, mostly for a handful of ODEs. We use Piro
extensively in the Albany code (see gahansen/Albany on github). This might
be a difficult implementation to learn from, but I don't know of any implementations
of intermediate complexity between the simple piro/test problems and Albany.

Hope this is helpful.
Andy Salinger

From: Dave Makhija <makhijad at colorado.edu<mailto:makhijad at colorado.edu>>
Date: Wednesday, October 1, 2014 11:42 PM
To: "trilinos-users at software.sandia.gov<mailto:trilinos-users at software.sandia.gov>" <trilinos-users at software.sandia.gov<mailto:trilinos-users at software.sandia.gov>>
Subject: [EXTERNAL] [Trilinos-Users] Parameter sensitivity framework

Trilinos mailing list,

I am about to start building a framework to compute transient parameter sensitivities for application to design optimization, UQ, etc. with emphasis on multi-physics problems. It seems similar to the "Piro" package. Is there a collection of compelling Piro examples?

My background is in topology optimization and I have been a satisfied Epetra/Amesos/Aztec user for the last few years, so I'm excited to see how well Piro simplifies the implementation of sensitivity analysis.

Cheers,

Dave
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://software.sandia.gov/pipermail/trilinos-users/attachments/20141003/c323f5ad/attachment.html>


More information about the Trilinos-Users mailing list