xref: /petsc/src/mat/tests/ex196f90.F90 (revision 9b88ac225e01f016352a5f4cd90e158abe5f5675)
1c4762a1bSJed Brown!
2c4762a1bSJed Brown!
3ce78bad3SBarry Smith!   This program demonstrates use of MatSeqAIJGetArray()
4c4762a1bSJed Brown!
5*c5e229c2SMartin Diehl#include <petsc/finclude/petscmat.h>
6c4762a1bSJed Brownprogram main
7c4762a1bSJed Brown
8c4762a1bSJed Brown  use petscmat
9c4762a1bSJed Brown  implicit none
10c4762a1bSJed Brown
11c4762a1bSJed Brown  Mat A
12c4762a1bSJed Brown  PetscErrorCode ierr
13c4762a1bSJed Brown  PetscViewer v
14c4762a1bSJed Brown  PetscScalar, pointer ::        aa(:)
1562ac926dSPierre Jolivet  character*(PETSC_MAX_PATH_LEN) f
16c4762a1bSJed Brown  PetscBool flg
17c4762a1bSJed Brown
18d8606c27SBarry Smith  PetscCallA(PetscInitialize(ierr))
19c4762a1bSJed Brown
20d8606c27SBarry Smith  PetscCallA(PetscOptionsGetString(PETSC_NULL_OPTIONS, PETSC_NULL_CHARACTER, '-f', f, flg, ierr))
21d8606c27SBarry Smith  PetscCallA(PetscViewerBinaryOpen(PETSC_COMM_WORLD, f, FILE_MODE_READ, v, ierr))
22c4762a1bSJed Brown
23d8606c27SBarry Smith  PetscCallA(MatCreate(PETSC_COMM_WORLD, A, ierr))
24d8606c27SBarry Smith  PetscCallA(MatSetType(A, MATSEQAIJ, ierr))
25d8606c27SBarry Smith  PetscCallA(MatLoad(A, v, ierr))
26c4762a1bSJed Brown
27d8606c27SBarry Smith  PetscCallA(MatView(A, PETSC_VIEWER_STDOUT_WORLD, ierr))
28c4762a1bSJed Brown
29ce78bad3SBarry Smith  PetscCallA(MatSeqAIJGetArray(A, aa, ierr))
30c4762a1bSJed Brown  print *, aa(3)
31c4762a1bSJed Brown
32d8606c27SBarry Smith  PetscCallA(MatDestroy(A, ierr))
33d8606c27SBarry Smith  PetscCallA(PetscViewerDestroy(v, ierr))
34c4762a1bSJed Brown
35d8606c27SBarry Smith  PetscCallA(PetscFinalize(ierr))
36c4762a1bSJed Brownend
37c4762a1bSJed Brown
38c4762a1bSJed Brown!/*TEST
39c4762a1bSJed Brown!
40c4762a1bSJed Brown!   test:
41c4762a1bSJed Brown!      args: -f ${wPETSC_DIR}/share/petsc/datafiles/matrices/ns-real-int32-float64 -malloc_dump
42dfd57a17SPierre Jolivet!      requires: !complex double !defined(PETSC_USE_64BIT_INDICES)
43c4762a1bSJed Brown!
44c4762a1bSJed Brown!TEST*/
45