On Mar 3, 2012, at 4:54 PM, Jed Brown wrote: > On Tue, Feb 28, 2012 at 14:51, Barry Smith <bsmith at mcs.anl.gov> wrote: > Let me restate the plan: > > We want to retain the current hierarchy: IS, Vec, Mat, DM, PC/KSP, SNES, TS. > To do this we "cheat" slightly by having a PC/KSP part of the DM, a SNES part > of DM and a TS part of DM that are implemented outside of the base _p_DM. In > a sense they are subclasses of the base DM that support PC/KSP, SNES, and TS. > The fact that they are subclasses is represented in the method names > DMSNESSetFunction() etc (note that Jed has it wrong above by putting the Set > before the XXXX). > > This is mostly implemented now, I'll push soon. > > What was the rationale behind the silent early exit from > SNESComputeJacobian() if snes->ops->computejacobian as not set? I would > prefer explicitly setting a Jacobian routine that does nothing to this > behavior which I think is error prone.
If no compute Jacobian routine was provided it just always uses the original matrix that was set into the SNESSetJacobian. I can live with removing this feature, I agree it is a little dangerous. Barry
