Actual source code: ex105f.F

petsc-3.7.4 2016-10-02
Report Typos and Errors
  1: !
  2: !   This program tests MatGetDiagonal()
  3: !
  4:       program main
  5:       implicit none

  7: #include <petsc/finclude/petscsys.h>
  8: #include <petsc/finclude/petscis.h>
  9: #include <petsc/finclude/petscvec.h>
 10: #include <petsc/finclude/petscmat.h>
 11: #include <petsc/finclude/petscviewer.h>

 13:       PetscErrorCode ierr
 14:       PetscInt i,one,twelve,j
 15:       Mat     m
 16:       PetscScalar value

 18:       call PetscInitialize(PETSC_NULL_CHARACTER,ierr)

 20:       twelve = 12
 21:       call MatCreate(PETSC_COMM_WORLD,m,ierr)
 22:       call MatSetSizes(m,PETSC_DECIDE,PETSC_DECIDE,twelve,twelve,ierr)
 23:       call MatSetFromOptions(m,ierr)

 25:       value = 3.0
 26:       i     = 4
 27:       one   = 1
 28:       call MatSetValuesMPIAIJ(m,one,i,one,i,value,ADD_VALUES,ierr)
 29:       i = 5
 30:       j = 7
 31:       call MatSetValuesMPIAIJ(m,one,i,one,j,value,ADD_VALUES,ierr)
 32:       i = 10
 33:       j = 9
 34:       call MatSetValuesMPIAIJ(m,one,i,one,j,value,ADD_VALUES,ierr)
 35:       call MatAssemblyBegin(m,MAT_FINAL_ASSEMBLY,ierr)
 36:       call MatAssemblyEnd(m,MAT_FINAL_ASSEMBLY,ierr)

 38:       call MatDestroy(m,ierr)
 39:       call PetscFinalize(ierr)
 40:       end