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