Hi Miguel,

Thank you for the nice work. I do not understand what you propose to do here. 
What is the obstacle to using current TSSetIJacobianP() for the corner case you 
mentioned? Are you considering a case in which the mass matrix is 
parameterized, e.g. M(p) udot - f(t,u) = g(t,u) ?

Thanks,
Hong

On Dec 17, 2020, at 3:38 PM, Salazar De Troya, Miguel via petsc-users 
<[email protected]<mailto:[email protected]>> wrote:

Hello,

I am working on hooking up TSAdjoint with pyadjoint through the firedrake-ts 
interface (https://github.com/IvanYashchuk/firedrake-ts). I have done most of 
the implementation and now I am just testing for corner cases. One of them is 
when the design variable is multiplying the first derivative term. It would be 
the case ofF(Udot,U,P,t) = G(U,P,t) in 
https://www.mcs.anl.gov/petsc/petsc-master/docs/manualpages/Sensitivity/TSSetIJacobianP.html
 . I imagine that one could think of refactoring the ā€œPā€ in the left hand side 
to the right hand side, but this is not trivial when ā€œPā€ is a discontinuous 
field over the domain. I think it would be better to include the case of 
F(Udot,U,P,t) = G(U,P,t) in TSSetIJacobianP and I am volunteering to do it. 
Given the current implementation of TSAdjoint, is this something feasible?

Thanks
Miguel

Miguel A. Salazar de Troya
Postdoctoral Researcher, Lawrence Livermore National Laboratory
B141
Rm: 1085-5
Ph: 1(925) 422-6411

Reply via email to