Just to be clear since I haven't chimed in here... all these changes sound good to me.  I think you're really the only one using the new interface anyway.... so I'm good with whatever you think is best!  ;-)


On Mon, Oct 19, 2009 at 5:11 PM, Roy Stogner <roystgnr@ices.utexas.edu> wrote:

On Thu, 15 Oct 2009, Roy Stogner wrote:

> I'm going to need to change out the adjoints API a bit, mostly to
> accomodate the possibility of multiple QoIs.

> Give assemble_qoi and assemble_qoi_derivative optional arguments of
> type vector<int> telling them which QoIs to assemble "this time" -
> typically the argument would just be the default empty vector, which
> would be shorthand for "assemble them all".
> The qoi_parameter_sensitivity call (which would now fork off to
> forward and adjoint versions depending on which is more efficient, by
> comparing qoi->size() and parameters->size()) would now fill a
> vector<vector<Number> > of sensitivities.

A couple other changes:

I'm also going to give that optional indices argument to
qoi_parameter_sensitivity and its forward/adjoint versions.  Users can
already solve with a subset of their systems' parameters by leaving
those out of the parameters argument, but the most natural way to
solve for a subset of QoIs seems to be with that indices arg.

The indices argument is also going in element_qoi, etc. for FEMSystem

Come build with us! The BlackBerry(R) Developer Conference in SF, CA
is the only developer event you need to attend this year. Jumpstart your
developing skills, take BlackBerry mobile applications to market and stay
ahead of the curve. Join us from November 9 - 12, 2009. Register now!
Libmesh-devel mailing list