On Wed, 19 May 2010 10:33:32 -0300, Lisandro Dalcin <dalcinl at gmail.com> wrote: > Making TS keep a reference will not harm. If TS keeps a ref, it will > have a properly dimensioned vector early on, no need to require a > SetSolution() or wait until TSSolve() in order to have a vec.
This is an argument for accepting the residual vector, but why can't TS just create the SNES and let the SNES hold the reference. I don't like having ts->vec_res alias snes->vec_func, I think it makes it far too easy to get these vectors from different places and accidentally assume they are different, and if everyone knows that they are the same, then it provides two ways to do the same thing. I think this is entirely analogous to KSPSetOperators which just calls through to the PC (creating it if necessary). > Yesterday, I had a really hard time to make SNES matrix-free (inside > TS Theta) working from Python. What did you have to do differently from Python? Was it just weird order-dependence? > Jed, you TS overhaul was great, but still there is a lot of work to do > to fix that mess. I didn't do any overhaul yet, just a couple new implementations. I should be able to actually do some overhaul work (straightening out _p_TS, ownership and creation semantics) in about a week, it sounds like you've already started this so I'll check in with you at that time. Jed
