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*/