1 2 /* tests MatSeqSBAIJSetPreallocationCSR() and MatMPISBAIJSetPreallocationCSR() */ 3 4 #include <petsc.h> 5 6 int main(int argc, char **args) 7 { 8 PetscInt ia[3] = { 0, 2, 4}; 9 PetscInt ja[4] = { 0, 1, 0, 1}; 10 PetscScalar c[16] = { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15 }; 11 Mat ssbaij; 12 Mat msbaij; 13 PetscErrorCode ierr; 14 15 ierr = PetscInitialize(&argc,&args,(char*)0,(char*)0);if (ierr) return ierr; 16 17 ierr = MatCreate(PETSC_COMM_SELF, &ssbaij);CHKERRQ(ierr); 18 ierr = MatCreate(PETSC_COMM_SELF, &msbaij);CHKERRQ(ierr); 19 ierr = MatSetType(ssbaij, MATSEQSBAIJ);CHKERRQ(ierr); 20 ierr = MatSetType(msbaij, MATMPISBAIJ);CHKERRQ(ierr); 21 ierr = MatSetBlockSize(ssbaij, 2);CHKERRQ(ierr); 22 ierr = MatSetSizes(ssbaij, 4, 4, 4, 4);CHKERRQ(ierr); 23 ierr = MatSetBlockSize(msbaij, 2);CHKERRQ(ierr); 24 ierr = MatSetSizes(msbaij, 4, 4, 4, 4);CHKERRQ(ierr); 25 ierr = MatSeqSBAIJSetPreallocationCSR(ssbaij, 2, ia, ja, c);CHKERRQ(ierr); 26 ierr = MatMPISBAIJSetPreallocationCSR(msbaij, 2, ia, ja, c);CHKERRQ(ierr); 27 ierr = MatView(ssbaij, PETSC_VIEWER_STDOUT_(PETSC_COMM_SELF));CHKERRQ(ierr); 28 ierr = MatView(msbaij, PETSC_VIEWER_STDOUT_(PETSC_COMM_SELF));CHKERRQ(ierr); 29 ierr = MatDestroy(&ssbaij);CHKERRQ(ierr); 30 ierr = MatDestroy(&msbaij);CHKERRQ(ierr); 31 ierr = PetscFinalize(); 32 return ierr; 33 } 34 35 /*TEST 36 37 test: 38 filter: sed "s?\.??g" 39 40 TEST*/ 41