1! 2! Example of getting an enum value from the options database in Fortran 3 4#include "petsc/finclude/petsc.h" 5 use petsc 6 implicit none 7 8 PetscErrorCode :: ierr 9 Character(len=99) list1(6) 10 PetscEnum :: opt=-1 11 PetscBool :: set=PETSC_FALSE 12 13 Call PetscInitialize(PETSC_NULL_CHARACTER,ierr) 14 if (ierr .ne. 0) then 15 print*,'Unable to initialize PETSc' 16 stop 17 endif 18 list1(1) = 'a123' 19 list1(2) = 'b456' 20 list1(3) = 'c789' 21 list1(4) = 'list1' 22 list1(5) = 'prefix_' 23 list1(6) = '' 24 25 write(*,20) list1(1) 2620 format(A99) 27 call PetscOptionsGetEnum(PETSC_NULL_OPTIONS,'joe_','-jeff',list1,opt,set,ierr);CHKERRA(ierr) 28 write(*,*) 'opt is ', opt 29 write(*,*) 'set is ', set 30 31 Call PetscFinalize(ierr) 32 end 33 34! 35!/*TEST 36! 37! build: 38! requires: defined(PETSC_USING_F2003) defined(PETSC_USING_F90FREEFORM) 39! 40! test: 41! args: -joe_jeff b456 42! 43!TEST*/ 44