xref: /petsc/src/mat/tests/ex105f.F90 (revision 3886731f808f6f9ca8348e6e791c818340d72f91)
1d8606c27SBarry Smith!
2d8606c27SBarry Smith!
3d8606c27SBarry Smith      program main
4d8606c27SBarry Smith#include <petsc/finclude/petscmat.h>
5d8606c27SBarry Smith      use petscmat
6d8606c27SBarry Smith      implicit none
7d8606c27SBarry Smith
8d8606c27SBarry Smith      PetscErrorCode ierr
9d8606c27SBarry Smith      PetscInt i,one,twelve,j
10d8606c27SBarry Smith      Mat     m
11d8606c27SBarry Smith      PetscScalar value
12d8606c27SBarry Smith
13d8606c27SBarry Smith      PetscCallA(PetscInitialize(ierr))
14d8606c27SBarry Smith      twelve = 12
15d8606c27SBarry Smith      PetscCallA(MatCreate(PETSC_COMM_WORLD,m,ierr))
16d8606c27SBarry Smith      PetscCallA(MatSetSizes(m,PETSC_DECIDE,PETSC_DECIDE,twelve,twelve,ierr))
17d8606c27SBarry Smith      PetscCallA(MatSetFromOptions(m,ierr))
185d83a8b1SBarry Smith      PetscCallA(MatMPIAIJSetPreallocation(m,PETSC_DEFAULT_INTEGER,PETSC_NULL_INTEGER_ARRAY,PETSC_DEFAULT_INTEGER,PETSC_NULL_INTEGER_ARRAY,ierr))
19d8606c27SBarry Smith
20d8606c27SBarry Smith      value = 3.0
21d8606c27SBarry Smith      i     = 4
22d8606c27SBarry Smith      one   = 1
235d83a8b1SBarry Smith      PetscCallA(MatSetValuesMPIAIJ(m,one,[i],one,[i],[value],ADD_VALUES,ierr))
24d8606c27SBarry Smith      i = 5
25d8606c27SBarry Smith      j = 7
265d83a8b1SBarry Smith      PetscCallA(MatSetValuesMPIAIJ(m,one,[i],one,[j],[value],ADD_VALUES,ierr))
27d8606c27SBarry Smith      i = 10
28d8606c27SBarry Smith      j = 9
295d83a8b1SBarry Smith      PetscCallA(MatSetValuesMPIAIJ(m,one,[i],one,[j],[value],ADD_VALUES,ierr))
30d8606c27SBarry Smith      PetscCallA(MatAssemblyBegin(m,MAT_FINAL_ASSEMBLY,ierr))
31d8606c27SBarry Smith      PetscCallA(MatAssemblyEnd(m,MAT_FINAL_ASSEMBLY,ierr))
32d8606c27SBarry Smith
33d8606c27SBarry Smith      PetscCallA(MatDestroy(m,ierr))
34d8606c27SBarry Smith      PetscCallA(PetscFinalize(ierr))
35d8606c27SBarry Smith      end
36d8606c27SBarry Smith
37d8606c27SBarry Smith!/*TEST
38d8606c27SBarry Smith!
39d8606c27SBarry Smith!   test:
40d8606c27SBarry Smith!      nsize: 2
41*3886731fSPierre Jolivet!      output_file: output/empty.out
42d8606c27SBarry Smith!
43d8606c27SBarry Smith!TEST*/
44