xref: /petsc/src/sys/classes/viewer/tests/ex7.c (revision 0baf8eba40dbc839082666f9f7396a225d6f663c)
1 const char help[] = "Test PetscOptionsCreateViewers()";
2 
3 #include <petscviewer.h>
4 
5 #define N_MAX 5
6 
7 int main(int argc, char **argv)
8 {
9   PetscInt          n_max = N_MAX;
10   PetscViewer       viewers[N_MAX];
11   PetscViewerFormat formats[N_MAX];
12 
13   PetscCall(PetscInitialize(&argc, &argv, NULL, help));
14   PetscCall(PetscOptionsCreateViewers(PETSC_COMM_WORLD, NULL, NULL, "-test_view", &n_max, viewers, formats, NULL));
15   for (PetscInt i = 0; i < n_max; i++) {
16     PetscCall(PetscViewerPushFormat(viewers[i], formats[i]));
17     PetscCall(PetscViewerASCIIPrintf(viewers[i], "This is viewer %" PetscInt_FMT "\n", i));
18     PetscCall(PetscViewerPopFormat(viewers[i]));
19     PetscCall(PetscViewerDestroy(&viewers[i]));
20   }
21   PetscCall(PetscFinalize());
22   return 0;
23 }
24 
25 /*TEST
26 
27   test:
28     suffix: 0
29     args: -test_view ascii:viewer0.txt,ascii:viewer1.txt
30     filter: cat viewer0.txt viewer1.txt
31 
32   test:
33     suffix: 1
34     args: -test_view ,,,ascii:viewer3.txt,
35 
36   test:
37     suffix: 2
38     args: -test_view ,,,ascii:viewer3.txt,
39     filter: cat viewer3.txt
40 
41 TEST*/
42