[petsc-dev] names of TSTypes

Jed Brown jed at 59A2.org
Sat Apr 17 12:40:39 CDT 2010

On Sat, 17 Apr 2010 10:33:02 +0200, "Jose E. Roman" <jroman at dsic.upv.es> wrote:
> By the way, TSCRANK_NICHOLSON is not spelled correctly, should be TSCRANK_NICOLSON (without the H)

Good point, that misspelling has been there forever.

> > #define TSEULER           "euler"
> > #define TSBEULER          "beuler"
> > #define TSPSEUDO          "pseudo"
> > #define TSCRANK_NICHOLSON "crank-nicholson"
> > #define TSSUNDIALS        "sundials"
> > #define TSRUNGE_KUTTA     "runge-kutta"
> > #define TSPYTHON          "python"
> > #define TSTHETA           "theta"
> > #define TSGL              "gl"
> > #define TSSSP             "ssp"
> > 
> >  someone changed TSRK to TSRUNGE_KUTTA and TSCN to TSCRANK_NICHOLSON but then created a TSGL.

There was never a TSRK or TSCN, just TS_RUNGE_KUTTA and
TS_CRANK_NICHOLSON [sic] that were normalized to TSRUNGE_KUTTA and
TSCRANK_NICHOLSON for consistency with name-macros for the other
packages.  The implementations suffixes were always abbreviated despite
the macros having long names.

> >  What's up with this? How come GL gets an abbreviation but others cannot?
> > 
> >  BTW: whoever changed TSRK didn't update the TSCreate_RK() etc with TSCreate_RUNGE_KUTTA() or change the manual page for TSRK

There used to be a man page for TS_RK even though there was never a
TS_RK macro (just TS_RUNGE_KUTTA).  My name-normalization patch didn't
fix this inconsistency.

> >  What should we do? I like consistency. I'm happy with all short like TSGL and TSRK or all long, but I don't like some short and some long.

I prefer that the runtime interface uses short names because these are
the names that I'll be typing a lot (I'd rather not have lots of
important and frequently changed options under really long prefixes,
i.e. -ts_irk_ and -ts_gl_ instead of -ts_implicit_runge_kutta_ and
-ts_general_linear_).  Consistency implies that the macros should all
have short names as well.



More information about the petsc-dev mailing list