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