On Mon, Dec 12, 2016 at 11:43 AM Jed Brown <[email protected]> wrote:
> I still don't understand your many field case. The geometric overhead is > amortized and the Jacobian contribution typically grows quadratically in > the number of fields, so I would expect it to increase the > Jacobian:residual cost ratio, not reduce it. > It depends on how things are coupled... but I do agree that with many fields the Jacobian tends to get even more expensive to produce. However, the point is just about reusing an expensive computation: the field values on every element. Regardless of how expensive the Jacobian/Residual are to compute... cutting the time in half for computing the values of many fields could be worthwhile. But I suppose your point is that if you are blindly computing Jacobians with residuals... then you're going to waste a few Jacobians (at least one every timestep for instance). If that Jacobian is incredibly expensive to produce then it's wiped out any gains made in not recomputing variable values. I can see that. How about this: what if SNES only called this optional R+J interface when it knew _for sure_ it needed both? For instance... for the first linear solve. But anyway - the gains seem pretty small and not worth it. I'm pretty convinced this idea is foolhardy ;-) Derek
