xref: /petsc/src/sys/tutorials/ex8f90.F90 (revision 030f984af8d8bb4c203755d35bded3c05b3d83ce)
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: define(PETSC_USING_F2003) define(PETSC_USING_F90FREEFORM)
39!
40!   test:
41!      args: -joe_jeff b456
42!
43!TEST*/
44