[petsc-dev] changes to the TS structure

Jed Brown jed at 59a2.org
Wed May 19 12:06:56 CDT 2010


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



More information about the petsc-dev mailing list