xref: /petsc/src/mat/tests/ex105f.F90 (revision d8606c274c09e255c003062beb17b1be973467bc)
1*d8606c27SBarry Smith!
2*d8606c27SBarry Smith!   This program tests MatGetDiagonal()
3*d8606c27SBarry Smith!
4*d8606c27SBarry Smith      program main
5*d8606c27SBarry Smith#include <petsc/finclude/petscmat.h>
6*d8606c27SBarry Smith      use petscmat
7*d8606c27SBarry Smith      implicit none
8*d8606c27SBarry Smith
9*d8606c27SBarry Smith      PetscErrorCode ierr
10*d8606c27SBarry Smith      PetscInt i,one,twelve,j
11*d8606c27SBarry Smith      Mat     m
12*d8606c27SBarry Smith      PetscScalar value
13*d8606c27SBarry Smith
14*d8606c27SBarry Smith      PetscCallA(PetscInitialize(ierr))
15*d8606c27SBarry Smith      twelve = 12
16*d8606c27SBarry Smith      PetscCallA(MatCreate(PETSC_COMM_WORLD,m,ierr))
17*d8606c27SBarry Smith      PetscCallA(MatSetSizes(m,PETSC_DECIDE,PETSC_DECIDE,twelve,twelve,ierr))
18*d8606c27SBarry Smith      PetscCallA(MatSetFromOptions(m,ierr))
19*d8606c27SBarry Smith      PetscCallA(MatSetUp(m,ierr))
20*d8606c27SBarry Smith
21*d8606c27SBarry Smith      value = 3.0
22*d8606c27SBarry Smith      i     = 4
23*d8606c27SBarry Smith      one   = 1
24*d8606c27SBarry Smith      PetscCallA(MatSetValuesMPIAIJ(m,one,i,one,i,value,ADD_VALUES,ierr))
25*d8606c27SBarry Smith      i = 5
26*d8606c27SBarry Smith      j = 7
27*d8606c27SBarry Smith      PetscCallA(MatSetValuesMPIAIJ(m,one,i,one,j,value,ADD_VALUES,ierr))
28*d8606c27SBarry Smith      i = 10
29*d8606c27SBarry Smith      j = 9
30*d8606c27SBarry Smith      PetscCallA(MatSetValuesMPIAIJ(m,one,i,one,j,value,ADD_VALUES,ierr))
31*d8606c27SBarry Smith      PetscCallA(MatAssemblyBegin(m,MAT_FINAL_ASSEMBLY,ierr))
32*d8606c27SBarry Smith      PetscCallA(MatAssemblyEnd(m,MAT_FINAL_ASSEMBLY,ierr))
33*d8606c27SBarry Smith
34*d8606c27SBarry Smith      PetscCallA(MatDestroy(m,ierr))
35*d8606c27SBarry Smith      PetscCallA(PetscFinalize(ierr))
36*d8606c27SBarry Smith      end
37*d8606c27SBarry Smith
38*d8606c27SBarry Smith!/*TEST
39*d8606c27SBarry Smith!
40*d8606c27SBarry Smith!   test:
41*d8606c27SBarry Smith!      nsize: 2
42*d8606c27SBarry Smith!
43*d8606c27SBarry Smith!TEST*/
44