1*f8402805SBarry Smith! 2*f8402805SBarry Smith! 3*f8402805SBarry Smith! Test for PetscFOpen() from Fortran 4*f8402805SBarry Smith! 5*f8402805SBarry Smith program main 6*f8402805SBarry Smith#include <petsc/finclude/petscsys.h> 7*f8402805SBarry Smith use petscsys 8*f8402805SBarry Smith implicit none 9*f8402805SBarry Smith 10*f8402805SBarry Smith PetscErrorCode ierr 11*f8402805SBarry Smith PetscMPIInt rank 12*f8402805SBarry Smith PetscFortranAddr file 13*f8402805SBarry Smith character*100 joe 14*f8402805SBarry Smith 15*f8402805SBarry Smith PetscCallA(PetscInitialize(ierr)) 16*f8402805SBarry Smith PetscCallMPIA(MPI_Comm_rank(PETSC_COMM_WORLD,rank,ierr)) 17*f8402805SBarry Smith 18*f8402805SBarry Smith PetscCallA(PetscFOpen(PETSC_COMM_WORLD,'testfile','w',file,ierr)) 19*f8402805SBarry Smith 20*f8402805SBarry Smith PetscCallA(PetscFPrintf(PETSC_COMM_WORLD,file,'Hi once \n',ierr)) 21*f8402805SBarry Smith PetscCallA(PetscSynchronizedFPrintf(PETSC_COMM_WORLD,file,'Hi twice \n',ierr)) 22*f8402805SBarry Smith PetscCallA(PetscSynchronizedFlush(PETSC_COMM_WORLD,file,ierr)) 23*f8402805SBarry Smith 24*f8402805SBarry Smith write (FMT=*,UNIT=joe) 'greetings from ',rank,'\n' 25*f8402805SBarry Smith PetscCallA(PetscSynchronizedFPrintf(PETSC_COMM_WORLD,file,joe,ierr)) 26*f8402805SBarry Smith PetscCallA(PetscSynchronizedFlush(PETSC_COMM_WORLD,file,ierr)) 27*f8402805SBarry Smith 28*f8402805SBarry Smith PetscCallA(PetscFClose(PETSC_COMM_WORLD,file,ierr)) 29*f8402805SBarry Smith 30*f8402805SBarry Smith PetscCallA(PetscSynchronizedPrintf(PETSC_COMM_WORLD,'Hi twice \n',ierr)) 31*f8402805SBarry Smith PetscCallA(PetscSynchronizedFlush(PETSC_COMM_WORLD,PETSC_STDOUT,ierr)) 32*f8402805SBarry Smith 33*f8402805SBarry Smith PetscCallA(PetscFinalize(ierr)) 34*f8402805SBarry Smith end 35*f8402805SBarry Smith 36*f8402805SBarry Smith! 37*f8402805SBarry Smith!/*TEST 38*f8402805SBarry Smith! 39*f8402805SBarry Smith! test: 40*f8402805SBarry Smith! nsize: 3 41*f8402805SBarry Smith! 42*f8402805SBarry Smith!TEST*/ 43