xref: /petsc/src/sys/tutorials/ex8f90.F90 (revision c5e229c2f66f66995aed5443a26600af2aec4a3f)
1!
2!   Example of getting an enum value from the options database in Fortran
3#include "petsc/finclude/petsc.h"
4      use petsc
5      implicit none
6
7      PetscErrorCode                            :: ierr
8      Character(len=99) list1(6)
9      PetscEnum                                 :: opt = -1
10      PetscBool                                 :: set = PETSC_FALSE
11
12      PetscCallA(PetscInitialize(ierr))
13      list1(1) = 'a123'
14      list1(2) = 'b456'
15      list1(3) = 'c789'
16      list1(4) = 'list1'
17      list1(5) = 'prefix_'
18      list1(6) = ''
19
20      write (*, 20) list1(1)
2120    format(A99)
22      PetscCallA(PetscOptionsGetEnum(PETSC_NULL_OPTIONS, 'joe_', '-jeff', list1, opt, set, ierr))
23      write (*, *) 'opt is ', opt
24      write (*, *) 'set is ', set
25
26      PetscCallA(PetscFinalize(ierr))
27    end
28
29!
30!/*TEST
31!
32!   build:
33!      requires: defined(PETSC_USING_F2003) defined(PETSC_USING_F90FREEFORM)
34!
35!   test:
36!      args: -joe_jeff b456
37!
38!TEST*/
39