Solving Tangent linear System #16934
-
Hello, My goal is to perform PDE-constrained optimization, and I am using MOOSE to perform the simulations. In addition to the simulation result, I would like to compute the solution of the 'Tangent Linear System' using MOOSE. A short explanation for what I would like to do: The matrix dF(T,v) / dT is the jacobian of the original PDE. I would like to know if I can modify the executioner (or other appropriate object) so that the tangent linear system can be solved right after the "original" MOOSE solve in a single run of the simulation. I am aware that MOOSE can perform matrix-free solves, but for my problem I am using a NEWTON solve. Thanks in advance! Kind regards, |
Beta Was this translation helpful? Give feedback.
Replies: 2 comments 12 replies
-
Yes. You can modify executioners in whatever way. Once you have [dF(T,v) / dT] and [dF(T,v) / dv], you can directly use PETSc to solve for x. If dF(T,v) / dT is fixed in this solve, you do not have to use MOOSE's PJFNK machinery which could be messy with your "original" system. I feel you can evaluate dF(T,v) / dv pretty easily with MOOSE residual evaluation and |
Beta Was this translation helpful? Give feedback.
-
@zachmprince @lynnmunday How does this relate to your optimization work? |
Beta Was this translation helpful? Give feedback.
Yes. You can modify executioners in whatever way. Once you have [dF(T,v) / dT] and [dF(T,v) / dv], you can directly use PETSc to solve for x. If dF(T,v) / dT is fixed in this solve, you do not have to use MOOSE's PJFNK machinery which could be messy with your "original" system. I feel you can evaluate dF(T,v) / dv pretty easily with MOOSE residual evaluation and
Control
forv
. Just my suggestions.