[petsc-dev] Master broken after changes to PetscSection headers

Jed Brown jed at jedbrown.org
Thu Sep 19 11:22:58 CDT 2019


Stefano Zampini <stefano.zampini at gmail.com> 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.


More information about the petsc-dev mailing list