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