Actual source code: ex47f.F90

  1: ! Example for PetscOptionsInsertFileYAML: Fortran Example

  3: program main

  5: #include <petsc/finclude/petscsys.h>
  6:   use petscsys

  8:   implicit none
  9:   PetscErrorCode                    :: ierr
 10:   character(len=PETSC_MAX_PATH_LEN) :: filename
 11:   PetscBool                         ::  flg

 13:   PetscCallA(PetscInitialize(ierr))
 14:   PetscCallA(PetscOptionsGetString(PETSC_NULL_OPTIONS, PETSC_NULL_CHARACTER, '-f', filename, flg, ierr))
 15:   if (flg) then
 16:     PetscCallA(PetscOptionsInsertFileYAML(PETSC_COMM_WORLD, PETSC_NULL_OPTIONS, filename, PETSC_TRUE, ierr))
 17:   end if

 19:   PetscCallA(PetscOptionsView(PETSC_NULL_OPTIONS, PETSC_VIEWER_STDOUT_WORLD, ierr))
 20:   PetscCallA(PetscFinalize(ierr))

 22: !/*TEST
 23: !
 24: ! testset:
 25: !   test:
 26: !      suffix: 1
 27: !      args: -f petsc.yml -options_left 0
 28: !      localrunfiles: petsc.yml
 29: !      output_file: output/ex47_1.out
 30: !
 31: !   test:
 32: !      suffix: 2
 33: !      args: -options_file_yaml petsc.yml -options_left 0
 34: !      localrunfiles: petsc.yml
 35: !      output_file: output/ex47_2.out
 36: !
 37: !TEST*/
 38: end program main