API changes for PETSc compatibility since release-3.3.0 #51

wants to merge 1 commit into


None yet

4 participants

karpeev commented Feb 27, 2013

Guys, take a look at this patch, which restores compatibility with PETSc since release-3.3.0 in preparation for release-3.4.0, hopefully, in a backward-compatible way. I did some limited testing by building against petsc-3.3 and petsc-3.2 and running miscellaneous/ex7, which exercises DMlibMesh to serve up vector bounds to a VI solver (there may be some regression on the PETSc side there, but the libMesh code seems to be fine).

There will probably be at least one more such pull request before petsc-3.4.0 release.
That patch will fix DMlibMeshCreateXXXDecomposition() for better interaction with PC(G)ASM and PCFIELDSPLIT -- those are effectively turned off at the moment and I want to do some substantial refactoring there before another commit.


Why not use the API instead of direct access in this case too (and below)?


The PETSC_VERSION_LE() macro was added in petsc-3.3 and handles PETSC_VERSION_RELEASE internally, but it cannot be used like this unless libmesh defines it for backward compatibility for earlier versions of PETSc.


FWIW, this conditional would be PETSC_VERSION_GT(3,3,0), but libmesh would have to define this macro for old versions of PETSc.


I'm testing this now and will push if it passes our tests OK.


Pushed in 1ea8004

@jwpeterson jwpeterson closed this Mar 4, 2013
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment