Yes you have the history exactly right, but keeping them as independent beasts seemed/seems impossible; except by doing something very cumbersome (like shoving all the PCXXX_YYY that depended on KSP into the KSP src directory). So the "opted" was really forced upon us.
Barry > On May 4, 2019, at 11:47 AM, Dave May <dave.mayhe...@gmail.com> wrote: > > > > That is, there used to be > src/sles/ksp > and > src/sles/pc > and rather than having ksp and pc as independent beasts living under src/ it > was opted to keep them "coupled" wrt the directory tree and thus src/sles > became src/ksp > > > > > > > > > > > > Whereas e.g. Layout, SF, Section do not contain IS and also otherwise they > > are basically unrelated except they all arrange some kind of index mapping. > > And there are multiple utils ar different levels and nobody knows where to > > put what. Plus all those have absolutely nothing in common with Vec. > > > > Vaclav > > > >> > >> "Smith, Barry F." <bsm...@mcs.anl.gov> writes: > >> > >>> Ok > >>> > >>> > >>>> On May 4, 2019, at 12:45 AM, Václav Hapla > >> <vaclav.ha...@erdw.ethz.ch> wrote: > >>>> > >>>> > >>>> > >>>> 4. května 2019 1:08:09 GMT+03:00, "Smith, Barry F." > >> <bsm...@mcs.anl.gov> napsal: > >>>>> > >>>>> > >>>>>> On May 3, 2019, at 5:00 PM, Hapla Vaclav > >> <vaclav.ha...@erdw.ethz.ch> > >>>>> wrote: > >>>>>> > >>>>>> > >>>>>> > >>>>>> OK, so index, idx, other idea? > >>>>> > >>>>> I'm not sure index is that informative (and not expansive enough). > >>>>> petscdm.h means nothing, maybe something short that doesn't mean > >>>>> anything? > >>>> > >>>> Ok, that directly suggests im. One can interpret is as index > >> mapping/management. > >>>> > >>>>> > >>>>>> > >>>>>> If we would have layout, is, sf, section in the same subdir, I > >> would > >>>>> move there also ao and ltog. > >>>>> > >>>>> Sure > >>>>> > >>>>>> > >>>>>> What about the headers - I guess having all those classes in one > >>>>> would be easier to handle and avoid circular dependencies, and > >> would > >>>>> reflect the directory structure. But should we keep separate > >>>>> petsc{ao,is,sf}.h, then I would suggest also separate > >>>>> petsc{layout,section,ltog}.h > >>>>> > >>>>> Separate is better. > >>>>> > >>>>>> > >>>>>> When we are at it, why we sometimes have <class>types.h and > >> sometimes > >>>>> not? > >>>>> > >>>>> We add these "as needed"; Jed can explain better exactly when they > >> are > >>>>> needed. > >>>>> > >>>>>> > >>>>>> Vaclav > >>>>>> > >>>>>> (added CC to petsc-dev) > >>>>>> > >>>>>>> > >>>>>>> > >>>>>>>> map > >>>>>>>> imap > >>>>>>>> idxmap > >>>>>>>> ... or something alike. > >>>>>>>> > >>>>>>>> Vaclav > >>>>>>>> > >>>>>>>>>> > >>>>>>>>>> Vaclav > >>>>>>>>>> > >>>>>>>>>>> > >>>>>>>>>>> Why not at lest make an additional level between Sys and Vec > >> for > >>>>> those sectioning utilities? Would make more sense to me. > >>>>>>>>>>> > >>>>>>>>>>> Vaclav