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