1! 2! Program to test object composition from Fortran 3! 4 program main 5 6#include <petsc/finclude/petscsys.h> 7#include <petsc/finclude/petscviewer.h> 8 use petscsys 9 implicit none 10 11 PetscErrorCode ierr 12 PetscObject o1, o2, o3 13 character*(80) name 14 15 call PetscInitialize(PETSC_NULL_CHARACTER,ierr) 16 if (ierr .ne. 0) then 17 print*, 'Unable to begin PETSc program' 18 stop 19 endif 20 21 call PetscViewerCreate(PETSC_COMM_WORLD,o1,ierr);CHKERRA(ierr) 22 call PetscViewerCreate(PETSC_COMM_WORLD,o2,ierr);CHKERRA(ierr) 23 name = 'matt' 24 call PetscObjectCompose(o1,name,o2,ierr);CHKERRA(ierr) 25 call PetscObjectQuery(o1,name,o3,ierr);CHKERRA(ierr) 26 if (o2 .ne. o3) then; SETERRA(PETSC_COMM_SELF,PETSC_ERR_PLIB,'PetscObjectQuery failed'); endif 27 28 call PetscViewerDestroy(o1,ierr);CHKERRA(ierr) 29 call PetscViewerDestroy(o2,ierr);CHKERRA(ierr) 30 call PetscFinalize(ierr) 31 end 32 33! 34!/*TEST 35! 36! test: 37! suffix: 0 38! 39!TEST*/ 40