Bugfix/petsc slepc v3.8.0 interface new

Merged
#261 · Created  · Last updated

Merged pull request

Merged in bugfix/petsc-slepc-v3.8.0-interface_new (pull request #261)

ed25a90·Author: ·Closed by: ·2020-02-19

Description

  • Fix compilation against PETSc/SLEPc versions > 3.8

    This was done because PETSc/SLEPc have changed their interface (again!) to remove ‘def’ from header file names. This was introduced in PETSc/SLEPc v3.8. Without handling this correctly, the GS2 build fails when compiling against versions of PETSc/SLEPc > 3.8. This is easily fixed using a conditional compilation based on PETSc/SLEPc version number.

    Furthermore, in v3.8 they removed the generic PETSC_NULL_OBJECT. We now have to use PETSC_NULL_XXX where XXX is the object required by the called procedure. These exist in older versions so can be changed without the need for a conditional compilation based on version number.

  • Revert PETSC_NULL_OBJECT change for v < 3.6

    This was a mistake in the original change as ONLY that variable (PETSC_NULL_OBJECT) exists in v < 3.6.

  • Revert PETSC_NULL_OBJECT change for v < 3.8

    As with v < 3.6, this was also a mistake in the original change as ONLY that variable (PETSC_NULL_OBJECT) exists in v < 3.8 too.

  • Put PETSc/SLEPc conditions in version order

    This just makes more sense for people reading this in future. v < 3.6 first, 3.6 < v < 3.8 second, v > 3.8 last. Rather than having the second and third ones in reverse order.

 

0 attachments

0 comments

Loading commits...