Stefano Zampini <[email protected]> writes: > So, for example, including petscmat.h we get all the constructors, > including "petscdm.h" we don't get DMPlexCreate... (BTW, this should > spelled DMCreatePlex if we follow the Mat convention....)
That's a legacy convention for DM. There is a usage difference in that anyone calling DMPlexCreate will also call lots of other DMPlex* functions, but a caller of MatCreateAIJ may not call any MatAIJ* functions. I don't personally care whether DMPlexCreate is changed to DMCreatePlex. > If we plan to do any change, we should do it right before a release. Making > it after, it will be a pain managing maint fixes and merges to master. > > I'm of the opinion that "petsc.h" should expose everything PETSc offers, > including API. But what about "petscksp.h" for example? Should it only > expose its *types.h dependencies? or the full API for all the objects down > the hierarchy? (PC,Mat,Vec,IS etc)? I would prefer only the *types.h, but that's a very disruptive change.
