xref: /petsc/src/sys/tutorials/ex8f90.F90 (revision 9b88ac225e01f016352a5f4cd90e158abe5f5675)
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