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.

-Manav





On Fri, Nov 1, 2013 at 11:49 AM, Manav Bhatia <[email protected]> wrote:

> Hi,
>
>    I am currently working on adding support for use supplied sensitivity.
>
>    In the process, I looked at the code in
> ImplicitSystem::weighted_sensitivity_solve(), and now want to make sure I
> understand what is going on inside it.
>
>    The header file describes the idea to be
>
>    [J]  x_weighted = - sum_i ( w_i  {partial R / partial p_i} )
>
>    but what seems implemented is
>
>    [J]  x_weighted = - partial R / partial p_weighted
>
>    where p_weighted = sum_i  w_i * p_i .
>
>    I would appreciate if someone could clarify.
>
> Thanks,
> Manav
>
>  On Fri, Nov 1, 2013 at 12:11 AM, Manav Bhatia <[email protected]>wrote:
>
>>  Thanks Paul!
>>
>> I need this soon and will start hacking tomorrow morning.
>>
>> Will keep you in the loop.
>>
>> Manav
>>
>> On Oct 31, 2013, at 11:09 PM, "Paul T. Bauman" <[email protected]>
>> wrote:
>>
>>  On Thu, Oct 31, 2013 at 5:00 PM, Roy Stogner 
>> <[email protected]>wrote:
>>
>>>
>>> On Thu, 31 Oct 2013, Manav Bhatia wrote:
>>>
>>> >    My applications provide analytical sensitivity of RHS for
>>> sensitivity
>>> > analysis. The current code structure seems to assumed finite
>>> differencing
>>> > for this, and I am hoping to use my routines instead.
>>> >
>>> >    Perhaps it would be best to provide for a
>>> user_sensitivity_function, or
>>> > user_sensitivity_object like the assembly_object in system.
>>> >
>>> >    I this seems relevant (?), I can take a dig at it and share a patch.
>>>
>>> Paul Bauman had some plans along these lines, so let me double-check
>>> that he saw this post; he may already have something partly done or he
>>> may have some suggestions about the API.
>>>
>>
>> Yeah, sorry, been slow to reply today. Been a fun day in TX if you live
>> near the Blanco river…
>>
>> So I had hacked together what I needed for a project I was working on and
>> haven't ported back to libMesh yet (in particular, FEMSystem), but here's
>> the general idea. All the code I've written thus far is here (in GRINS):
>> https://github.com/pbauman/grins/compare/sensitivity_hacking
>>
>> IIRC, the higher level part of the residual derivatives was done
>> correctly. That is, default is finite difference, but the user can override
>> with analytical without having to recode the global loop. And that's what I
>> did here. I took it further and added
>> element_residual_parameter_derivative, etc. for FEMSystem style
>> computation. However, IIRC (and apologies if I'm not), the QoI derivative
>> wasn't as completely separated. Again, want to finite difference by default
>> and let the user override for analytical. In the GRINS branch I linked to,
>> I hadn't ported the finite difference, I just set up what I need. If I had
>> 2 days, I could finish this off. Alas.
>>
>> Manav, if you're up for it, you're more than welcome to take any of that
>> code and create a libMesh patch. I could at least make time to answer
>> questions, look at some of your code, and steer you in the right direction.
>>
>> Best,
>>
>> Paul
>>
>>
>
------------------------------------------------------------------------------
Android is increasing in popularity, but the open development platform that
developers love is also attractive to malware creators. Download this white
paper to learn more about secure code signing practices that can help keep
Android apps secure.
http://pubads.g.doubleclick.net/gampad/clk?id=65839951&iu=/4140/ostg.clktrk
_______________________________________________
Libmesh-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/libmesh-users

Reply via email to