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