[petsc-dev] Fwd: Changes in PETSc

Matthew Knepley knepley at gmail.com
Tue Aug 21 11:25:34 CDT 2012


On Tue, Aug 21, 2012 at 11:24 AM, Barry Smith <bsmith at mcs.anl.gov> wrote:

>
> On Aug 21, 2012, at 10:53 AM, Jed Brown <jedbrown at mcs.anl.gov> wrote:
>
> > On Tue, Aug 21, 2012 at 10:39 AM, Matthew Knepley <
> knepley at ci.uchicago.edu> wrote:
> > Wolfgang is not wrong here. I was against the name change :)
> >
> > I complained about this in May when it was pushed.
>
>     Then who the fuck changed this. It sure as hell wasn't me.


I believe Hong.

   Matt


>
>     Barry
>
>
> >
> >
> >    Matt
> >
> > ---------- Forwarded message ----------
> > From: Wolfgang Bangerth <bangerth at math.tamu.edu>
> > Date: Mon, Aug 20, 2012 at 10:30 PM
> > Subject: Changes in PETSc
> > To: Matthew Knepley <knepley at ci.uchicago.edu>, "Toby D. Young" <
> tyoung at ippt.gov.pl>
> >
> >
> >
> > Hi Matt,
> > I ran across something today that I believe perfectly illustrates the
> kind of thing that drives everyone completely mad about PETSc's habit of
> changing everything in every release. I was staring for a long time at a
> patch by one of our contributors labeled "fix catastrophic typo" that reads
> like this:
> > ...........................
> > -    int ierr = KSPSetType (ksp, const_cast<char *>(KSPCHEBYSHEV));
> > +                                     // set the type of solver.
> > +    int ierr;
> > +
> > +#ifdef DEAL_II_PETSC_VERSION_LT(3,3,0)
> > +    ierr = KSPSetType (ksp, const_cast<char *>(KSPCHEBYCHEV));
> >
> > They can get rid of the const_cast.
> >
> > Also, instead of the magic version nonsense, they can write
> >
> > #ifndef KSPCHEBYSHEV
> > #  define KSPCHEBYSHEV KSPCHEBYCHEV
> > #endif
> >
> > and then always use the new version in their code.
> >
> > Also, a package like deal.II would be better off snooping the list of
> valid parameters using PetscFListGet() so that they would *automatically*
> support *all* KSPs and PCs in PETSc.
> >
> > +#else
> > +    ierr = KSPSetType (ksp, const_cast<char *>(KSPCHEBYSHEV));
> > +#endif
> > ...........................
> > It took me minutes to find the difference: before 3.3, the name was
> spelled chebyChev, after that chebyShev. That's really a completely
> unnecessary change -- but hugely disruptive because not compatible,
> incredible difficult to see, and it also has no real value at all: whether
> you want to spell the name the French or the American way really makes no
> difference at all. Worst of all, it would have been absolutely trivial to
> make the change backward compatible by simply doing
> >   #define KSPCHEBYSHEV KSPCHEBYCHEV
> > but that didn't happen.
> >
> > So why do it? Sorry for venting, but it just doesn't make sense to me...
> > Best
> >  W.
> >
> > --
> > ------------------------------------------------------------------------
> > Wolfgang Bangerth               email:            bangerth at math.tamu.edu
> >                                 www: http://www.math.tamu.edu/~bangerth/
> >
> >
> >
> >
> > --
> > What most experimenters take for granted before they begin their
> experiments is infinitely more interesting than any results to which their
> experiments lead.
> > -- Norbert Wiener
> >
>
>


-- 
What most experimenters take for granted before they begin their
experiments is infinitely more interesting than any results to which their
experiments lead.
-- Norbert Wiener
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.mcs.anl.gov/pipermail/petsc-dev/attachments/20120821/471af1b2/attachment.html>


More information about the petsc-dev mailing list