Actual source code: ex190.c

  1: static char help[] = "Tests MatLoad() with uneven dimensions set in program\n\n";

  3: #include <petscmat.h>

  5: int main(int argc,char **args)
  6: {
  7:   Mat            A;
  8:   PetscViewer    fd;
  9:   char           file[PETSC_MAX_PATH_LEN];
 10:   PetscBool      flg;
 11:   PetscMPIInt    rank;

 13:   PetscInitialize(&argc,&args,(char*)0,help);
 14:   MPI_Comm_rank(PETSC_COMM_WORLD,&rank);

 16:   /* Determine files from which we read the matrix */
 17:   PetscOptionsGetString(NULL,NULL,"-f",file,sizeof(file),&flg);

 20:   /* Load matrices */
 21:   PetscViewerBinaryOpen(PETSC_COMM_WORLD,file,FILE_MODE_READ,&fd);
 22:   MatCreate(PETSC_COMM_WORLD,&A);
 23:   MatSetFromOptions(A);
 24:   MatSetBlockSize(A,2);
 25:   if (rank == 0) {
 26:     MatSetSizes(A, 4, PETSC_DETERMINE, PETSC_DETERMINE,PETSC_DETERMINE);
 27:   } else {
 28:     MatSetSizes(A, 8, PETSC_DETERMINE, PETSC_DETERMINE,PETSC_DETERMINE);
 29:   }
 30:   MatLoad(A,fd);
 31:   PetscViewerDestroy(&fd);
 32:   MatDestroy(&A);
 33:   PetscFinalize();
 34:   return 0;
 35: }

 37: /*TEST

 39:       test:
 40:          nsize: 2
 41:          args: -mat_type aij -mat_view -f ${wPETSC_DIR}/share/petsc/datafiles/matrices/ns-real-int32-float64
 42:          requires: double !complex !defined(PETSC_USE_64BIT_INDICES)

 44:       test:
 45:          suffix: 2
 46:          nsize: 2
 47:          args: -mat_type baij -mat_view -f ${wPETSC_DIR}/share/petsc/datafiles/matrices/ns-real-int32-float64
 48:          requires: double !complex !defined(PETSC_USE_64BIT_INDICES)

 50:       test:
 51:          suffix: 3
 52:          nsize: 2
 53:          args: -mat_type sbaij -mat_view -f ${wPETSC_DIR}/share/petsc/datafiles/matrices/ns-real-int32-float64
 54:          requires: double !complex !defined(PETSC_USE_64BIT_INDICES)

 56: TEST*/