Actual source code: ex206.c
petsc-3.14.6 2021-03-30
1: static char help[] = "Reads binary matrix - twice\n";
3: #include <petscmat.h>
4: int main(int argc,char **args)
5: {
6: Mat A;
7: PetscViewer fd; /* viewer */
8: char file[PETSC_MAX_PATH_LEN]; /* input file name */
9: PetscErrorCode ierr;
10: PetscBool flg;
12: PetscInitialize(&argc,&args,(char*)0,help);
14: PetscOptionsGetString(NULL,NULL,"-f",file,sizeof(file),&flg);
15: if (!flg) SETERRQ(PETSC_COMM_WORLD,PETSC_ERR_USER,"Must indicate binary file with the -f option");
17: MatCreate(PETSC_COMM_WORLD,&A);
18: MatSetFromOptions(A);
19: PetscPrintf(PETSC_COMM_WORLD, "First MatLoad! \n");
20: PetscViewerBinaryOpen(PETSC_COMM_WORLD,file,FILE_MODE_READ,&fd);
21: MatLoad(A,fd);
22: PetscViewerDestroy(&fd);
23: MatView(A,PETSC_VIEWER_STDOUT_WORLD);
25: PetscOptionsGetString(NULL,NULL,"-f2",file,sizeof(file),&flg);
26: PetscPrintf(PETSC_COMM_WORLD, "Second MatLoad! \n");
27: PetscViewerBinaryOpen(PETSC_COMM_WORLD,file,FILE_MODE_READ,&fd);
28: MatLoad(A,fd);
29: PetscViewerDestroy(&fd);
30: MatView(A,PETSC_VIEWER_STDOUT_WORLD);
32: MatDestroy(&A);
33: PetscFinalize();
34: return ierr;
35: }
37: /*TEST
39: test:
40: suffix: aij_1
41: requires: datafilespath !complex double !define(PETSC_USE_64BIT_INDICES)
42: args: -f ${DATAFILESPATH}/matrices/small -mat_type aij -mat_block_size 1
43: filter: grep -v Mat_
45: test:
46: suffix: aij_2
47: nsize: 2
48: requires: datafilespath !complex double !define(PETSC_USE_64BIT_INDICES)
49: args: -f ${DATAFILESPATH}/matrices/small -mat_type aij -mat_block_size 1
50: filter: grep -v Mat_
52: test:
53: suffix: aij_2_d
54: nsize: 2
55: requires: datafilespath !complex double !define(PETSC_USE_64BIT_INDICES)
56: args: -f ${DATAFILESPATH}/matrices/small -f2 ${DATAFILESPATH}/matrices/smallbs2 -mat_type aij -mat_block_size 1
57: filter: grep -v Mat_
59: test:
60: suffix: baij_1_2
61: requires: datafilespath !complex double !define(PETSC_USE_64BIT_INDICES)
62: args: -f ${DATAFILESPATH}/matrices/small -mat_type baij -mat_block_size 2
63: filter: grep -v Mat_
65: test:
66: suffix: baij_2_1_d
67: nsize: 2
68: requires: datafilespath !complex double !define(PETSC_USE_64BIT_INDICES)
69: args: -f ${DATAFILESPATH}/matrices/small -f2 ${DATAFILESPATH}/matrices/smallbs2 -mat_type baij -mat_block_size 1
70: filter: grep -v Mat_
72: test:
73: suffix: baij_2_2
74: nsize: 2
75: requires: datafilespath !complex double !define(PETSC_USE_64BIT_INDICES)
76: args: -f ${DATAFILESPATH}/matrices/small -mat_type baij -mat_block_size 2
77: filter: grep -v Mat_
79: test:
80: suffix: baij_2_2_d
81: nsize: 2
82: requires: datafilespath !complex double !define(PETSC_USE_64BIT_INDICES)
83: args: -f ${DATAFILESPATH}/matrices/small -f2 ${DATAFILESPATH}/matrices/smallbs2 -mat_type baij -mat_block_size 2
84: filter: grep -v Mat_
86: test:
87: suffix: sbaij_1_1
88: requires: datafilespath !complex double !define(PETSC_USE_64BIT_INDICES)
89: args: -f ${DATAFILESPATH}/matrices/small -mat_type sbaij -mat_block_size 1
90: filter: grep -v Mat_
92: test:
93: suffix: sbaij_1_2
94: requires: datafilespath !complex double !define(PETSC_USE_64BIT_INDICES)
95: args: -f ${DATAFILESPATH}/matrices/small -mat_type sbaij -mat_block_size 2
96: filter: grep -v Mat_
98: test:
99: suffix: sbaij_2_1_d
100: nsize: 2
101: requires: datafilespath !complex double !define(PETSC_USE_64BIT_INDICES)
102: args: -f ${DATAFILESPATH}/matrices/small -f2 ${DATAFILESPATH}/matrices/smallbs2 -mat_type sbaij -mat_block_size 1
103: filter: grep -v Mat_
105: test:
106: suffix: sbaij_2_2
107: nsize: 2
108: requires: datafilespath !complex double !define(PETSC_USE_64BIT_INDICES)
109: args: -f ${DATAFILESPATH}/matrices/small -mat_type sbaij -mat_block_size 2
110: filter: grep -v Mat_
112: TEST*/