xref: /petsc/src/sys/tests/ex17f.F90 (revision f84028053d197aff3fdf060e86d88b3f1b0f0110)
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