1c4762a1bSJed Brown! 2c4762a1bSJed Brown! Example of getting an enum value from the options database in Fortran 3c4762a1bSJed Brown#include "petsc/finclude/petsc.h" 4c4762a1bSJed Brown use petsc 5c4762a1bSJed Brown implicit none 6c4762a1bSJed Brown 7c4762a1bSJed Brown PetscErrorCode :: ierr 8*02c639afSMartin Diehl character(len=99) list1(6) 9c4762a1bSJed Brown PetscEnum :: opt = -1 10c4762a1bSJed Brown PetscBool :: set = PETSC_FALSE 11c4762a1bSJed Brown 12d8606c27SBarry Smith PetscCallA(PetscInitialize(ierr)) 13c4762a1bSJed Brown list1(1) = 'a123' 14c4762a1bSJed Brown list1(2) = 'b456' 15c4762a1bSJed Brown list1(3) = 'c789' 16c4762a1bSJed Brown list1(4) = 'list1' 17c4762a1bSJed Brown list1(5) = 'prefix_' 18c4762a1bSJed Brown list1(6) = '' 19c4762a1bSJed Brown 20c4762a1bSJed Brown write (*, 20) list1(1) 21c4762a1bSJed Brown20 format(A99) 22f8402805SBarry Smith PetscCallA(PetscOptionsGetEnum(PETSC_NULL_OPTIONS, 'joe_', '-jeff', list1, opt, set, ierr)) 23c4762a1bSJed Brown write (*, *) 'opt is ', opt 24c4762a1bSJed Brown write (*, *) 'set is ', set 25c4762a1bSJed Brown 26f8402805SBarry Smith PetscCallA(PetscFinalize(ierr)) 27c4762a1bSJed Brown end 28c4762a1bSJed Brown 29c4762a1bSJed Brown! 30c4762a1bSJed Brown!/*TEST 31c4762a1bSJed Brown! 32c4762a1bSJed Brown! test: 33c4762a1bSJed Brown! args: -joe_jeff b456 34c4762a1bSJed Brown! 35c4762a1bSJed Brown!TEST*/ 36