Actual source code: ex17f.F90

  1: !
  2: !
  3: !     Test for PetscFOpen() from Fortran
  4: !
  5: program main
  6: #include <petsc/finclude/petscsys.h>
  7:   use petscsys
  8:   implicit none

 10:   PetscErrorCode ierr
 11:   PetscMPIInt rank
 12:   PetscFortranAddr file
 13:   character*100 joe

 15:   PetscCallA(PetscInitialize(ierr))
 16:   PetscCallMPIA(MPI_Comm_rank(PETSC_COMM_WORLD, rank, ierr))

 18:   PetscCallA(PetscFOpen(PETSC_COMM_WORLD, 'testfile', 'w', file, ierr))

 20:   PetscCallA(PetscFPrintf(PETSC_COMM_WORLD, file, 'Hi once \n', ierr))
 21:   PetscCallA(PetscSynchronizedFPrintf(PETSC_COMM_WORLD, file, 'Hi twice \n', ierr))
 22:   PetscCallA(PetscSynchronizedFlush(PETSC_COMM_WORLD, file, ierr))

 24:   write (FMT=*, UNIT=joe) 'greetings from ', rank, '\n'
 25:   PetscCallA(PetscSynchronizedFPrintf(PETSC_COMM_WORLD, file, joe, ierr))
 26:   PetscCallA(PetscSynchronizedFlush(PETSC_COMM_WORLD, file, ierr))

 28:   PetscCallA(PetscFClose(PETSC_COMM_WORLD, file, ierr))

 30:   PetscCallA(PetscSynchronizedPrintf(PETSC_COMM_WORLD, 'Hi twice \n', ierr))
 31:   PetscCallA(PetscSynchronizedFlush(PETSC_COMM_WORLD, PETSC_STDOUT, ierr))

 33:   PetscCallA(PetscFinalize(ierr))
 34: end

 36: !
 37: !/*TEST
 38: !
 39: !   test:
 40: !      nsize: 3
 41: !
 42: !TEST*/