1c4762a1bSJed Brown! Demonstrates PetscGetVersionNumber(): Fortran Example 2c4762a1bSJed Brown 3c4762a1bSJed Brownprogram main 4c4762a1bSJed Brown#include <petsc/finclude/petscsys.h> 5c4762a1bSJed Brown use petscsys 6c4762a1bSJed Brown 7c4762a1bSJed Brown implicit none 8c4762a1bSJed Brown PetscErrorCode :: ierr 9c4762a1bSJed Brown PetscInt :: major,minor,subminor 1062ac926dSPierre Jolivet character(len=PETSC_MAX_PATH_LEN) :: outputString 11c4762a1bSJed Brown 12c4762a1bSJed Brown ! Every PETSc routine should begin with the PetscInitialize() routine. 13c4762a1bSJed Brown 14*f8402805SBarry Smith PetscCallA(PetscInitialize(PETSC_NULL_CHARACTER,ierr)) 15*f8402805SBarry Smith PetscCallA(PetscGetVersionNumber(major,minor,subminor,PETSC_NULL_INTEGER,ierr)) 16c4762a1bSJed Brown 17c4762a1bSJed Brown if (major /= PETSC_VERSION_MAJOR) then 18c4762a1bSJed Brown write(outputString,*)'Library major',major,'does not equal include',PETSC_VERSION_MAJOR 19c4762a1bSJed Brown SETERRA(PETSC_COMM_SELF,PETSC_ERR_PLIB,trim(outputString)) 20c4762a1bSJed Brown endif 21c4762a1bSJed Brown 22c4762a1bSJed Brown if (minor /= PETSC_VERSION_MINOR) then 23c4762a1bSJed Brown write(outputString,*)'Library minor',minor,'does not equal include',PETSC_VERSION_MINOR 24c4762a1bSJed Brown SETERRA(PETSC_COMM_SELF,PETSC_ERR_PLIB,trim(outputString)) 25c4762a1bSJed Brown endif 26c4762a1bSJed Brown 27c4762a1bSJed Brown if (subminor /= PETSC_VERSION_SUBMINOR) then 28c4762a1bSJed Brown write(outputString,*)'Library subminor',subminor,'does not equal include',PETSC_VERSION_SUBMINOR 29c4762a1bSJed Brown SETERRA(PETSC_COMM_SELF,PETSC_ERR_PLIB,trim(outputString)) 30c4762a1bSJed Brown endif 31c4762a1bSJed Brown 32*f8402805SBarry Smith PetscCallA(PetscFinalize(ierr)) 33c4762a1bSJed Brownend program main 34c4762a1bSJed Brown 35c4762a1bSJed Brown!/*TEST 36c4762a1bSJed Brown! 37c4762a1bSJed Brown! test: 38c4762a1bSJed Brown! 39c4762a1bSJed Brown!TEST*/ 40