xref: /petsc/src/mat/tests/ex196f90.F90 (revision d8606c274c09e255c003062beb17b1be973467bc)
1c4762a1bSJed Brown!
2c4762a1bSJed Brown!
3c4762a1bSJed Brown!   This program demonstrates use of MatSeqAIJGetArrayF90()
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
18*d8606c27SBarry Smith      PetscCallA(PetscInitialize(ierr))
19c4762a1bSJed Brown
20*d8606c27SBarry Smith      PetscCallA(PetscOptionsGetString(PETSC_NULL_OPTIONS,PETSC_NULL_CHARACTER,'-f',f,flg,ierr))
21*d8606c27SBarry Smith      PetscCallA(PetscViewerBinaryOpen(PETSC_COMM_WORLD,f,FILE_MODE_READ,v,ierr))
22c4762a1bSJed Brown
23*d8606c27SBarry Smith      PetscCallA(MatCreate(PETSC_COMM_WORLD,A,ierr))
24*d8606c27SBarry Smith      PetscCallA(MatSetType(A, MATSEQAIJ,ierr))
25*d8606c27SBarry Smith      PetscCallA(MatLoad(A,v,ierr))
26c4762a1bSJed Brown
27*d8606c27SBarry Smith      PetscCallA(MatView(A,PETSC_VIEWER_STDOUT_WORLD,ierr))
28c4762a1bSJed Brown
29*d8606c27SBarry Smith      PetscCallA(MatSeqAIJGetArrayF90(A,aa,ierr))
30c4762a1bSJed Brown      print*,aa(3)
31c4762a1bSJed Brown
32*d8606c27SBarry Smith      PetscCallA(MatDestroy(A,ierr))
33*d8606c27SBarry Smith      PetscCallA(PetscViewerDestroy(v,ierr))
34c4762a1bSJed Brown
35*d8606c27SBarry 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