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