1*c4762a1bSJed Brown! Demonstrates PetscGetVersionNumber(): Fortran Example 2*c4762a1bSJed Brown 3*c4762a1bSJed Brown 4*c4762a1bSJed Brownprogram main 5*c4762a1bSJed Brown#include <petsc/finclude/petscsys.h> 6*c4762a1bSJed Brown use petscsys 7*c4762a1bSJed Brown 8*c4762a1bSJed Brown implicit none 9*c4762a1bSJed Brown PetscErrorCode :: ierr 10*c4762a1bSJed Brown PetscInt :: major,minor,subminor 11*c4762a1bSJed Brown character(len=256) :: outputString 12*c4762a1bSJed Brown 13*c4762a1bSJed Brown ! Every PETSc routine should begin with the PetscInitialize() routine. 14*c4762a1bSJed Brown 15*c4762a1bSJed Brown call PetscInitialize(PETSC_NULL_CHARACTER,ierr) 16*c4762a1bSJed Brown if (ierr /= 0) then 17*c4762a1bSJed Brown write(6,*)'Unable to initialize PETSc' 18*c4762a1bSJed Brown stop 19*c4762a1bSJed Brown endif 20*c4762a1bSJed Brown 21*c4762a1bSJed Brown call PetscGetVersionNumber(major,minor,subminor,PETSC_NULL_INTEGER,ierr) 22*c4762a1bSJed Brown CHKERRA(ierr) 23*c4762a1bSJed Brown 24*c4762a1bSJed Brown if (major /= PETSC_VERSION_MAJOR) then 25*c4762a1bSJed Brown write(outputString,*)'Library major',major,'does not equal include',PETSC_VERSION_MAJOR 26*c4762a1bSJed Brown SETERRA(PETSC_COMM_SELF,PETSC_ERR_PLIB,trim(outputString)) 27*c4762a1bSJed Brown endif 28*c4762a1bSJed Brown 29*c4762a1bSJed Brown if (minor /= PETSC_VERSION_MINOR) then 30*c4762a1bSJed Brown write(outputString,*)'Library minor',minor,'does not equal include',PETSC_VERSION_MINOR 31*c4762a1bSJed Brown SETERRA(PETSC_COMM_SELF,PETSC_ERR_PLIB,trim(outputString)) 32*c4762a1bSJed Brown endif 33*c4762a1bSJed Brown 34*c4762a1bSJed Brown if (subminor /= PETSC_VERSION_SUBMINOR) then 35*c4762a1bSJed Brown write(outputString,*)'Library subminor',subminor,'does not equal include',PETSC_VERSION_SUBMINOR 36*c4762a1bSJed Brown SETERRA(PETSC_COMM_SELF,PETSC_ERR_PLIB,trim(outputString)) 37*c4762a1bSJed Brown endif 38*c4762a1bSJed Brown 39*c4762a1bSJed Brown call PetscFinalize(ierr) 40*c4762a1bSJed Brown 41*c4762a1bSJed Brown 42*c4762a1bSJed Brownend program main 43*c4762a1bSJed Brown 44*c4762a1bSJed Brown!/*TEST 45*c4762a1bSJed Brown! 46*c4762a1bSJed Brown! test: 47*c4762a1bSJed Brown! 48*c4762a1bSJed Brown!TEST*/ 49*c4762a1bSJed Brown 50*c4762a1bSJed Brown 51*c4762a1bSJed Brown 52*c4762a1bSJed Brown 53