[petsc-dev] overly complicated TS?

Jed Brown jed at 59A2.org
Wed Apr 21 04:28:37 CDT 2010

On Tue, 20 Apr 2010 17:00:39 -0500, Barry Smith <bsmith at mcs.anl.gov> wrote:
>     Jed and other TS folks,
>      Since you introduced providing the ODE/DAE in the form F(t,u,u_t)  
> = 0 and it seems universal is there any reason to keep all the old  
> crap around at all?

We need to keep RHSFunction because that is required by explicit
integrators [1], I would definitely like to get rid of left-matrix and
make right-matrix uniformly a special case of right-function.

I don't believe there is any need for right-matrix to exist unless we
implement exponential integrators some day, but it's trivial because the
TS implementations don't need to call it, so it would only be used by
TSComputeRHSFunction (similar to the current dispatch in
TSComputeIFunction).  I definitely want to get rid of all the special
cases in TS implementations, but I think TSTHETA is a fine example of
this (I think it actually includes all the functionality of TSBEULER and
TSCN while also working for DAE, correct me if I'm wrong).


[1] This is not quite true because f_RHS(t,u) = F(t,u,0) *if* the
implicit system is actually an ODE with identity as a mass matrix.
Rather than having a convention about how to write your IFunction so
that explicit integrators can possibly work (otherwise they will appear
to work but get wrong results), I prefer to have an interface that
enforces this convention.  As mentioned above, this provides no
complication beyond the existence of the TSSetRHSFunction() because none
of the implicit integrators need to know about this interface since they
just call TSComputeIFunction().

More information about the petsc-dev mailing list