Actual source code: ex67f.F

  2: !      "$Id: ex67f.F,v 1.9 2001/03/22 20:30:40 bsmith Exp $";
  3: !
  4: !   This program demonstrates use of MatGetSubMatrices() from Fortran
  5: !
  6:       program main
  7:       implicit none
 8:  #include include/finclude/petsc.h
 9:  #include include/finclude/petscmat.h
 10:  #include include/finclude/petscis.h
 11:  #include include/finclude/petscviewer.h

 13:       Mat      A,B
 14:       integer  ierr
 15:       PetscViewer   v
 16:       IS       isrow

 18:       call PetscInitialize(PETSC_NULL_CHARACTER,ierr)

 20:       call PetscViewerBinaryOpen(PETSC_COMM_WORLD,'../matbinary.ex',         &
 21:      &                          PETSC_BINARY_RDONLY,v,ierr)

 23:       call MatLoad(v,MATSEQAIJ,A,ierr)

 25:       call ISCreateGeneral(PETSC_COMM_SELF,1,0,isrow,ierr)

 27:       call MatGetSubmatrices(A,1,isrow,isrow,                           &
 28:      &        MAT_INITIAL_MATRIX,B,ierr)

 30:       call MatView(B,PETSC_VIEWER_STDOUT_SELF,ierr)

 32:       call MatGetSubmatrices(A,1,isrow,isrow,                           &
 33:      &        MAT_REUSE_MATRIX,B,ierr)

 35:       call MatView(B,PETSC_VIEWER_STDOUT_SELF,ierr)

 37:       call ISDestroy(isrow,ierr)
 38:       call MatDestroy(A,ierr)
 39:       call MatDestroy(B,ierr)
 40:       call PetscViewerDestroy(v,ierr)

 42:       call PetscFinalize(ierr)
 43:       end