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