On 4/15/15 12:37 PM, Barry Smith wrote:

   Hong and Emil,

     You will need to answer this.


On Apr 15, 2015, at 6:24 AM, Dave Makhija <makhi...@colorado.edu> wrote:

Barry,

Is the method exact if I have a time dependent mass matrix (dF/dU_t changes 
each time step)? I'm not sure it's possible if TSSetIJacobian expects a 
function which computes the combination of dF/dU and a*dF/dU_t. But, perhaps 
there is something I'm missing.

In the adjoint derivation, we assumed that we have F = M U_t - f(t,U); so a*dF/dU_t is a*M, which holds if M=M(t). So in principle it should work. However, because M(t_n) and M(t_{n+1}) are different, the adjoint implementation might be slightly inconsistent -- and I'm saying this out of caution. We did not test it on problems with M=M(t). Do you have such an example interfaced with PETSc we can try?

Emil


Otherwise, it looks very comprehensive. I like how you added the "cost 
integrand". If I recall correctly, the Trilinos package Rythmos is missing this.

Thanks!

Dave

On Tue, Apr 14, 2015 at 8:30 AM, Barry Smith <bsm...@mcs.anl.gov> wrote:

On Apr 14, 2015, at 1:06 AM, Dave Makhija <makhi...@colorado.edu> wrote:

Hello,

I'm evaluating my options for computing time dependent adjoints. I did not think PETSc 
supported this, but I see "TSAdjointSolve" in the development branch. That 
would be fantastic news if you plan to support time integrated adjoints!

What features are envisioned and when is the targeted release date?

   Dave,

    We currently have discrete adjoint computations for explicit RK methods and 
for implicit theta methods (backward Euler and Crank-Nicholson). The 
development copy of the users manual has some discussion 
(http://www.mcs.anl.gov/petsc/petsc-master/docs/manual.pdf page 135) and there 
are several examples.   I urge you to try them out now in master and stay in 
contact with us to insure we provide what you need as we are actively 
developing them.
We plan a release for early June.

   Barry


Thanks!

Dave



Reply via email to