xref: /petsc/src/mat/tests/ex196f90.F90 (revision ce78bad369055609e946c9d2c25ea67a45873e27)
1c4762a1bSJed Brown!
2c4762a1bSJed Brown!
3*ce78bad3SBarry Smith!   This program demonstrates use of MatSeqAIJGetArray()
4c4762a1bSJed Brown!
5c4762a1bSJed Brown      program main
6c4762a1bSJed Brown
7c4762a1bSJed Brown#include <petsc/finclude/petscmat.h>
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
29*ce78bad3SBarry 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 Brown      end
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