xref: /petsc/src/mat/tests/ex105f.F90 (revision 9b88ac225e01f016352a5f4cd90e158abe5f5675)
1d8606c27SBarry Smith!
2d8606c27SBarry Smith!
3d8606c27SBarry Smith#include <petsc/finclude/petscmat.h>
4*c5e229c2SMartin Diehlprogram main
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 Smithend
36d8606c27SBarry Smith
37d8606c27SBarry Smith!/*TEST
38d8606c27SBarry Smith!
39d8606c27SBarry Smith!   test:
40d8606c27SBarry Smith!      nsize: 2
413886731fSPierre Jolivet!      output_file: output/empty.out
42d8606c27SBarry Smith!
43d8606c27SBarry Smith!TEST*/
44