Date: 2026-03-01T05:25:14+00:00

Actual source code: ex17f.F90

      1: ! Demonstrates PetscGetVersionNumber(): Fortran Example

      3: program main
      4: #include <petsc/finclude/petscsys.h>
      5:   use petscsys

      7:   implicit none
      8:   PetscErrorCode                    :: ierr
      9:   PetscInt                          :: major, minor, subminor, release
     10:   character(len=PETSC_MAX_PATH_LEN) :: outputString

     12:   ! Every PETSc routine should begin with the PetscInitialize() routine.

     14:   PetscCallA(PetscInitialize(ierr))
     15:   PetscCallA(PetscGetVersionNumber(major, minor, subminor, release, ierr))

     17:   if (major /= PETSC_VERSION_MAJOR) then
     18:     write (outputString, *) 'Library major', major, 'does not equal include', PETSC_VERSION_MAJOR
     19:     SETERRA(PETSC_COMM_SELF, PETSC_ERR_PLIB, trim(outputString))
     20:   end if

     22:   if (minor /= PETSC_VERSION_MINOR) then
     23:     write (outputString, *) 'Library minor', minor, 'does not equal include', PETSC_VERSION_MINOR
     24:     SETERRA(PETSC_COMM_SELF, PETSC_ERR_PLIB, trim(outputString))
     25:   end if

     27:   if (subminor /= PETSC_VERSION_SUBMINOR) then
     28:     write (outputString, *) 'Library subminor', subminor, 'does not equal include', PETSC_VERSION_SUBMINOR
     29:     SETERRA(PETSC_COMM_SELF, PETSC_ERR_PLIB, trim(outputString))
     30:   end if

     32:   PetscCallA(PetscFinalize(ierr))
     33: end program main

     35: !/*TEST
     36: !
     37: !   test:
     38: !     output_file: output/empty.out
     39: !
     40: !TEST*/