[petsc-users] Adaptive controllers in TS

Miguel Angel Salazar de Troya salazardetroya at gmail.com
Tue Oct 28 09:48:36 CDT 2014


Sorry to be pushy, but could anyone help me on this?

Thanks
Miguel

On Thu, Oct 23, 2014 at 10:46 AM, Miguel Angel Salazar de Troya <
salazardetroya at gmail.com> wrote:

> I decided to implement the continuous adjoint because it is clearer to me
> how to do it and the gradient will converge anyways. I was trying to
> interpolate the solution, but in the adjoint analysis I need to do it once
> the simulation has finished. I have saved all the solutions for each time
> step. My idea was to reset the TS at the time step immediately previous to
> the time step in which I want to interpolate to:
>
> interpolate_timestep : where I want to interpolate to
> previous_timestep : last time step in our time step history which is
> smaller that the interpolate_timestep
> Current_Sol : Solution at the time step previous_timestep
>
> TSSetTime(ts,previous_timestep);
> TSSetSolution(ts,Current_Sol);
> TSSetRetainStages(ts,PETSC_TRUE);
>
> TSInterpolate(ts,interpolate_timestep,X);
>
> Vector X should have a close value to Current_Sol, but it's nowhere close.
> I also compare it to the solution of the next time step after
> previous_timestep (therefore interpolate_timestep is between these guys)
> and it's not close either. I've read that TSInterpolate() has to be
> extended to support continuous adjoints.
>
> Thanks
> Miguel
>
> On Tue, Oct 21, 2014 at 6:04 PM, Miguel Angel Salazar de Troya <
> salazardetroya at gmail.com> wrote:
>
>> That might be a reasonable argument, but I'm not sure. This is one of the
>> papers that explains it. I'm re-reading to see if I skipped any details:
>>
>> http://www.sciencedirect.com/science/article/pii/S0377042709006062
>>
>> Miguel
>>
>> On Mon, Oct 20, 2014 at 11:42 PM, Jed Brown <jed at jedbrown.org> wrote:
>>
>>> Miguel Angel Salazar de Troya <salazardetroya at gmail.com> writes:
>>>
>>> > Thanks for your response
>>> >
>>> > I'm struggling with this problem because the literature is not clear
>>> for me
>>> > on how to calculate the discrete adjoint with adaptive time stepping
>>> > algorithms. They cover the details when automatic differentiation
>>> tools are
>>> > used. They mention that because the time step depend on the solution,
>>> it
>>> > also depends on the parameter. Hence, there are terms that represent
>>> the
>>> > derivative of the time step w.r.t. the parameters. What it is
>>> confusing is
>>> > that they mention these terms must be removed. I don't understand
>>> this. I'm
>>> > planning to hard-code the discrete adjoint problem (and use the TS if
>>> > possible).
>>>
>>> Are they suggesting that the time step sizes for a given run should be
>>> frozen (at least locally) so that you have consistent gradients for a
>>> while?
>>>
>>
>>
>>
>> --
>> *Miguel Angel Salazar de Troya*
>> Graduate Research Assistant
>> Department of Mechanical Science and Engineering
>> University of Illinois at Urbana-Champaign
>> (217) 550-2360
>> salaza11 at illinois.edu
>>
>>
>
>
> --
> *Miguel Angel Salazar de Troya*
> Graduate Research Assistant
> Department of Mechanical Science and Engineering
> University of Illinois at Urbana-Champaign
> (217) 550-2360
> salaza11 at illinois.edu
>
>


-- 
*Miguel Angel Salazar de Troya*
Graduate Research Assistant
Department of Mechanical Science and Engineering
University of Illinois at Urbana-Champaign
(217) 550-2360
salaza11 at illinois.edu
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.mcs.anl.gov/pipermail/petsc-users/attachments/20141028/df89fd4d/attachment-0001.html>


More information about the petsc-users mailing list