Actual source code: viewa.c
petsc-3.8.3 2017-12-09
2: #include <petsc/private/viewerimpl.h>
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: "ASCII_GLVIS",
25: "DRAW_BASIC",
26: "DRAW_LG",
27: "DRAW_CONTOUR",
28: "DRAW_PORTS",
29: "VTK_VTS",
30: "VTK_VTR",
31: "VTK_VTU",
32: "BINARY_MATLAB",
33: "NATIVE",
34: "HDF5_VIZ",
35: "NOFORMAT",
36: "PetscViewerFormat",
37: "PETSC_VIEWER_",
38: 0
39: };
41: /*@C
42: PetscViewerSetFormat - Sets the format for PetscViewers.
44: Logically Collective on PetscViewer
46: This routine is deprecated, you should use PetscViewerPushFormat()/PetscViewerPopFormat()
48: Input Parameters:
49: + viewer - the PetscViewer
50: - format - the format
52: Level: intermediate
54: Notes:
55: Available formats include
56: + PETSC_VIEWER_DEFAULT - default format
57: . PETSC_VIEWER_ASCII_MATLAB - MATLAB format
58: . PETSC_VIEWER_ASCII_DENSE - print matrix as dense
59: . PETSC_VIEWER_ASCII_IMPL - implementation-specific format
60: (which is in many cases the same as the default)
61: . PETSC_VIEWER_ASCII_INFO - basic information about object
62: . PETSC_VIEWER_ASCII_INFO_DETAIL - more detailed info
63: about object
64: . PETSC_VIEWER_ASCII_COMMON - identical output format for
65: all objects of a particular type
66: . PETSC_VIEWER_ASCII_INDEX - (for vectors) prints the vector
67: element number next to each vector entry
68: . PETSC_VIEWER_ASCII_SYMMODU - print parallel vectors without
69: indicating the processor ranges
70: . PETSC_VIEWER_ASCII_VTK - outputs the object to a VTK file
71: . PETSC_VIEWER_NATIVE - store the object to the binary
72: file in its native format (for example, dense
73: matrices are stored as dense), DMDA vectors are dumped directly to the
74: file instead of being first put in the natural ordering
75: . PETSC_VIEWER_DRAW_BASIC - views the vector with a simple 1d plot
76: . PETSC_VIEWER_DRAW_LG - views the vector with a line graph
77: - PETSC_VIEWER_DRAW_CONTOUR - views the vector with a contour plot
79: These formats are most often used for viewing matrices and vectors.
81: If a format (for example PETSC_VIEWER_DRAW_CONTOUR) was applied to a viewer
82: where it didn't apply (PETSC_VIEWER_STDOUT_WORLD) it cause the default behavior
83: for that viewer to be used.
85: 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
87: Concepts: PetscViewer^setting format
89: .seealso: PetscViewerASCIIOpen(), PetscViewerBinaryOpen(), MatView(), VecView(), PetscViewerType,
90: PetscViewerPushFormat(), PetscViewerPopFormat(), PetscViewerDrawOpen(),PetscViewerSocketOpen()
91: @*/
92: PetscErrorCode PetscViewerSetFormat(PetscViewer viewer,PetscViewerFormat format)
93: {
95: if (!viewer) viewer = PETSC_VIEWER_STDOUT_SELF;
98: viewer->format = format;
99: return(0);
100: }
102: /*@C
103: PetscViewerPushFormat - Sets the format for file PetscViewers.
105: Logically Collective on PetscViewer
107: Input Parameters:
108: + viewer - the PetscViewer
109: - format - the format
111: Level: intermediate
113: Notes:
114: Available formats include
115: + PETSC_VIEWER_DEFAULT - default format
116: . PETSC_VIEWER_ASCII_MATLAB - MATLAB format
117: . PETSC_VIEWER_ASCII_IMPL - implementation-specific format
118: (which is in many cases the same as the default)
119: . PETSC_VIEWER_ASCII_INFO - basic information about object
120: . PETSC_VIEWER_ASCII_INFO_DETAIL - more detailed info
121: about object
122: . PETSC_VIEWER_ASCII_COMMON - identical output format for
123: all objects of a particular type
124: . PETSC_VIEWER_ASCII_INDEX - (for vectors) prints the vector
125: element number next to each vector entry
126: . PETSC_VIEWER_NATIVE - store the object to the binary
127: file in its native format (for example, dense
128: matrices are stored as dense), for DMDA vectors displays vectors in DMDA ordering, not natural
129: . PETSC_VIEWER_DRAW_BASIC - views the vector with a simple 1d plot
130: . PETSC_VIEWER_DRAW_LG - views the vector with a line graph
131: - PETSC_VIEWER_DRAW_CONTOUR - views the vector with a contour plot
133: These formats are most often used for viewing matrices and vectors.
134: Currently, the object name is used only in the MATLAB format.
136: Concepts: PetscViewer^setting format
138: .seealso: PetscViewerASCIIOpen(), PetscViewerBinaryOpen(), MatView(), VecView(),
139: PetscViewerSetFormat(), PetscViewerPopFormat()
140: @*/
141: PetscErrorCode PetscViewerPushFormat(PetscViewer viewer,PetscViewerFormat format)
142: {
146: if (viewer->iformat > PETSCVIEWERFORMATPUSHESMAX-1) SETERRQ(PETSC_COMM_SELF,PETSC_ERR_ARG_OUTOFRANGE,"Too many PetscViewerPushFormat(), perhaps you forgot PetscViewerPopFormat()?");
148: viewer->formats[viewer->iformat++] = viewer->format;
149: viewer->format = format;
150: return(0);
151: }
153: /*@C
154: PetscViewerPopFormat - Resets the format for file PetscViewers.
156: Logically Collective on PetscViewer
158: Input Parameters:
159: . viewer - the PetscViewer
161: Level: intermediate
163: Concepts: PetscViewer^setting format
165: .seealso: PetscViewerASCIIOpen(), PetscViewerBinaryOpen(), MatView(), VecView(),
166: PetscViewerSetFormat(), PetscViewerPushFormat()
167: @*/
168: PetscErrorCode PetscViewerPopFormat(PetscViewer viewer)
169: {
172: if (viewer->iformat <= 0) return(0);
174: viewer->format = viewer->formats[--viewer->iformat];
175: return(0);
176: }
178: PetscErrorCode PetscViewerGetFormat(PetscViewer viewer,PetscViewerFormat *format)
179: {
181: *format = viewer->format;
182: return(0);
183: }