Actual source code: viewa.c
petsc-3.7.3 2016-08-01
2: #include <petsc/private/viewerimpl.h> /*I "petscsys.h" I*/
4: const char *const PetscViewerFormats[] = {
5: "DEFAULT",
6: "ASCII_MATLAB",
7: "ASCII_MATHEMATICA",
8: "ASCII_IMPL",
9: "ASCII_INFO",
10: "ASCII_INFO_DETAIL",
11: "ASCII_COMMON",
12: "ASCII_SYMMODU",
13: "ASCII_INDEX",
14: "ASCII_DENSE",
15: "ASCII_MATRIXMARKET",
16: "ASCII_VTK",
17: "ASCII_VTK_CELL",
18: "ASCII_VTK_COORDS",
19: "ASCII_PCICE",
20: "ASCII_PYTHON",
21: "ASCII_FACTOR_INFO",
22: "ASCII_LATEX",
23: "ASCII_XML",
24: "DRAW_BASIC",
25: "DRAW_LG",
26: "DRAW_CONTOUR",
27: "DRAW_PORTS",
28: "VTK_VTS",
29: "VTK_VTR",
30: "VTK_VTU",
31: "BINARY_MATLAB",
32: "NATIVE",
33: "HDF5_VIZ",
34: "NOFORMAT",
35: "PetscViewerFormat",
36: "PETSC_VIEWER_",
37: 0
38: };
42: /*@C
43: PetscViewerSetFormat - Sets the format for PetscViewers.
45: Logically Collective on PetscViewer
47: This routine is deprecated, you should use PetscViewerPushFormat()/PetscViewerPopFormat()
49: Input Parameters:
50: + viewer - the PetscViewer
51: - format - the format
53: Level: intermediate
55: Notes:
56: Available formats include
57: + PETSC_VIEWER_DEFAULT - default format
58: . PETSC_VIEWER_ASCII_MATLAB - MATLAB format
59: . PETSC_VIEWER_ASCII_DENSE - print matrix as dense
60: . PETSC_VIEWER_ASCII_IMPL - implementation-specific format
61: (which is in many cases the same as the default)
62: . PETSC_VIEWER_ASCII_INFO - basic information about object
63: . PETSC_VIEWER_ASCII_INFO_DETAIL - more detailed info
64: about object
65: . PETSC_VIEWER_ASCII_COMMON - identical output format for
66: all objects of a particular type
67: . PETSC_VIEWER_ASCII_INDEX - (for vectors) prints the vector
68: element number next to each vector entry
69: . PETSC_VIEWER_ASCII_SYMMODU - print parallel vectors without
70: indicating the processor ranges
71: . PETSC_VIEWER_ASCII_VTK - outputs the object to a VTK file
72: . PETSC_VIEWER_NATIVE - store the object to the binary
73: file in its native format (for example, dense
74: matrices are stored as dense), DMDA vectors are dumped directly to the
75: file instead of being first put in the natural ordering
76: . PETSC_VIEWER_DRAW_BASIC - views the vector with a simple 1d plot
77: . PETSC_VIEWER_DRAW_LG - views the vector with a line graph
78: - PETSC_VIEWER_DRAW_CONTOUR - views the vector with a contour plot
80: These formats are most often used for viewing matrices and vectors.
82: If a format (for example PETSC_VIEWER_DRAW_CONTOUR) was applied to a viewer
83: where it didn't apply (PETSC_VIEWER_STDOUT_WORLD) it cause the default behavior
84: for that viewer to be used.
86: Note: This supports passing in a NULL for the viewer for use in the debugger, but it should never be called in the code with a NULL viewer
88: Concepts: PetscViewer^setting format
90: .seealso: PetscViewerASCIIOpen(), PetscViewerBinaryOpen(), MatView(), VecView(), PetscViewerType,
91: PetscViewerPushFormat(), PetscViewerPopFormat(), PetscViewerDrawOpen(),PetscViewerSocketOpen()
92: @*/
93: PetscErrorCode PetscViewerSetFormat(PetscViewer viewer,PetscViewerFormat format)
94: {
96: if (!viewer) viewer = PETSC_VIEWER_STDOUT_SELF;
99: viewer->format = format;
100: return(0);
101: }
105: /*@C
106: PetscViewerPushFormat - Sets the format for file PetscViewers.
108: Logically Collective on PetscViewer
110: Input Parameters:
111: + viewer - the PetscViewer
112: - format - the format
114: Level: intermediate
116: Notes:
117: Available formats include
118: + PETSC_VIEWER_DEFAULT - default format
119: . PETSC_VIEWER_ASCII_MATLAB - MATLAB format
120: . PETSC_VIEWER_ASCII_IMPL - implementation-specific format
121: (which is in many cases the same as the default)
122: . PETSC_VIEWER_ASCII_INFO - basic information about object
123: . PETSC_VIEWER_ASCII_INFO_DETAIL - more detailed info
124: about object
125: . PETSC_VIEWER_ASCII_COMMON - identical output format for
126: all objects of a particular type
127: . PETSC_VIEWER_ASCII_INDEX - (for vectors) prints the vector
128: element number next to each vector entry
129: . PETSC_VIEWER_NATIVE - store the object to the binary
130: file in its native format (for example, dense
131: matrices are stored as dense), for DMDA vectors displays vectors in DMDA ordering, not natural
132: . PETSC_VIEWER_DRAW_BASIC - views the vector with a simple 1d plot
133: . PETSC_VIEWER_DRAW_LG - views the vector with a line graph
134: - PETSC_VIEWER_DRAW_CONTOUR - views the vector with a contour plot
136: These formats are most often used for viewing matrices and vectors.
137: Currently, the object name is used only in the MATLAB format.
139: Concepts: PetscViewer^setting format
141: .seealso: PetscViewerASCIIOpen(), PetscViewerBinaryOpen(), MatView(), VecView(),
142: PetscViewerSetFormat(), PetscViewerPopFormat()
143: @*/
144: PetscErrorCode PetscViewerPushFormat(PetscViewer viewer,PetscViewerFormat format)
145: {
149: if (viewer->iformat > PETSCVIEWERFORMATPUSHESMAX-1) SETERRQ(PETSC_COMM_SELF,PETSC_ERR_ARG_OUTOFRANGE,"Too many PetscViewerPushFormat(), perhaps you forgot PetscViewerPopFormat()?");
151: viewer->formats[viewer->iformat++] = viewer->format;
152: viewer->format = format;
153: return(0);
154: }
158: /*@C
159: PetscViewerPopFormat - Resets the format for file PetscViewers.
161: Logically Collective on PetscViewer
163: Input Parameters:
164: . viewer - the PetscViewer
166: Level: intermediate
168: Concepts: PetscViewer^setting format
170: .seealso: PetscViewerASCIIOpen(), PetscViewerBinaryOpen(), MatView(), VecView(),
171: PetscViewerSetFormat(), PetscViewerPushFormat()
172: @*/
173: PetscErrorCode PetscViewerPopFormat(PetscViewer viewer)
174: {
177: if (viewer->iformat <= 0) return(0);
179: viewer->format = viewer->formats[--viewer->iformat];
180: return(0);
181: }
185: PetscErrorCode PetscViewerGetFormat(PetscViewer viewer,PetscViewerFormat *format)
186: {
188: *format = viewer->format;
189: return(0);
190: }