[petsc-users] SetVariableBounds vs ComputeVariableBounds

Munson, Todd tmunson at mcs.anl.gov
Tue Jun 28 08:54:27 CDT 2016


With TAO and the reduced space methods, it depends on how the reduced space 
matrix is being constructed.  We may be replacing rows of the Jacobian matrix 
with the correct identity row, rather than extracting a submatrix, so that 
we do not have to worry about the preconditioner (e.g. extract a sub matrix 
from the preconditioner as well).

I need to look better into how the PETSc active-set method is handling
the reduced space matrix and preconditioner.

Todd.
 
> On Jun 28, 2016, at 8:31 AM, Jed Brown <jed at jedbrown.org> wrote:
> 
> Barry Smith <bsmith at mcs.anl.gov> writes:
> 
>>   There is the same issue with ODE integrators for linear problems. The solvers tromp on the Jacobian.  
> 
> So with TS, the shift comes from a mass matrix and that matrix could
> conceivably change independent of whether the (RHS) Jacobian has
> changed.
> 
>>   We should actually add an error indicator in these TAO/TS solvers, if the "Jacobian" state value is not increased in the next time step/iteration this means the person did not supply the new Jacobian (in other words the Jacobian is still whatever it was tromped to) so the solver should error out and tell the user their mistake.
> 
> But with TAO, isn't the shift always diagonal?  It seems wasteful to
> always do a full assembly (or store a pristine copy) when only a
> modified shift is needed.  If there is a simple and reliable way to
> correct the shift, it would be a nicer interface to just do the right
> thing.  Note that TS is extra confusing because the user can pass
> IJacobian, RHSJacobian, or both, and we reuse whichever matrix they
> provide.



More information about the petsc-users mailing list