Hi, 

   I have a first-cut on the modifications to accommodate user provided 
sensitivity methods.  I pushed my local repository to github, so there might be 
some irrelevant modifications that you can ignore:  
https://github.com/manavbhatia/libmesh/tree/user_sensitivity_function

   I will be adding some more changes in the following days, but following are 
the prominent ones: 

—  addition of classes in System to provide interface for calculating 
sensitivity or rhs for ImplicitSystem
—  same for eigen system.
—  Modification of sensitivity methods in ImplicitSystem to use these objects. 
At this point, I have not touched the Hessian and weighted sensitivity routines.
—  Addition of sensitivity analysis to EigenSystem.
—  Modification of get_eigenpair in EigenSystem and CondensedEigenSystem to 
provide an optional vector to store the eigenvector, as opposed to using 
System::solution by default. 
—  The previous API for get_eigenpair did not allow for returning the complex 
part of the eigenvector for NHEP and GNHEP. This has been modified with changes 
to eigensolver and eigensystem classes. 

   Feel free to comment. 

Manav


On Nov 1, 2013, at 2:58 PM, Roy Stogner <[email protected]> wrote:

> 
> On Fri, 1 Nov 2013, Manav Bhatia wrote:
> 
>> I think I understand the purpose of that routine. I seems to be an 
>> approximation to the following form:
>>  
>> [J]  x_weighted = - sum_i ( w_i  {partial R / partial p_i} )
>>  
>> and is only called from the routines dealing with the Hessian in 
>> ImplicitSystem.
> 
> It's been way too long since I wrote the weighted_sensitivity_solve()
> code - the purpose was to enable Hessian-vector products without
> requiring full Hessian calculations.  It's grossly untested, so if
> there's something that looks fishy I'd suspect the code is at fault
> more than your understanding of the code.
> 
> In fact, I don't think I ever got around to writing an app using this
> myself, so I've *never* properly hit it with a benchmark.  Vikram, is
> there any chance you did?
> ---
> Roy


------------------------------------------------------------------------------
November Webinars for C, C++, Fortran Developers
Accelerate application performance with scalable programming models. Explore
techniques for threading, error checking, porting, and tuning. Get the most 
from the latest Intel processors and coprocessors. See abstracts and register
http://pubads.g.doubleclick.net/gampad/clk?id=60136231&iu=/4140/ostg.clktrk
_______________________________________________
Libmesh-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/libmesh-users

Reply via email to