Actual source code: viewa.c
petsc-3.13.6 2020-09-29
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: "ASCII_CSV",
26: "DRAW_BASIC",
27: "DRAW_LG",
28: "DRAW_LG_XRANGE",
29: "DRAW_CONTOUR",
30: "DRAW_PORTS",
31: "VTK_VTS",
32: "VTK_VTR",
33: "VTK_VTU",
34: "BINARY_MATLAB",
35: "NATIVE",
36: "HDF5_PETSC",
37: "HDF5_VIZ",
38: "HDF5_XDMF",
39: "HDF5_MAT",
40: "NOFORMAT",
41: "LOAD_BALANCE",
42: "PetscViewerFormat",
43: "PETSC_VIEWER_",
44: NULL
45: };
47: /*@C
48: PetscViewerSetFormat - Sets the format for PetscViewers.
50: Logically Collective on PetscViewer
52: This routine is deprecated, you should use PetscViewerPushFormat()/PetscViewerPopFormat()
54: Input Parameters:
55: + viewer - the PetscViewer
56: - format - the format
58: Level: intermediate
60: Notes:
61: Available formats include
62: + PETSC_VIEWER_DEFAULT - default format
63: . PETSC_VIEWER_ASCII_MATLAB - MATLAB format
64: . PETSC_VIEWER_ASCII_DENSE - print matrix as dense
65: . PETSC_VIEWER_ASCII_IMPL - implementation-specific format
66: (which is in many cases the same as the default)
67: . PETSC_VIEWER_ASCII_INFO - basic information about object
68: . PETSC_VIEWER_ASCII_INFO_DETAIL - more detailed info
69: about object
70: . PETSC_VIEWER_ASCII_COMMON - identical output format for
71: all objects of a particular type
72: . PETSC_VIEWER_ASCII_INDEX - (for vectors) prints the vector
73: element number next to each vector entry
74: . PETSC_VIEWER_ASCII_SYMMODU - print parallel vectors without
75: indicating the processor ranges
76: . PETSC_VIEWER_ASCII_VTK - outputs the object to a VTK file
77: . PETSC_VIEWER_NATIVE - store the object to the binary
78: file in its native format (for example, dense
79: matrices are stored as dense), DMDA vectors are dumped directly to the
80: file instead of being first put in the natural ordering
81: . PETSC_VIEWER_DRAW_BASIC - views the vector with a simple 1d plot
82: . PETSC_VIEWER_DRAW_LG - views the vector with a line graph
83: - PETSC_VIEWER_DRAW_CONTOUR - views the vector with a contour plot
85: These formats are most often used for viewing matrices and vectors.
87: If a format (for example PETSC_VIEWER_DRAW_CONTOUR) was applied to a viewer
88: where it didn't apply (PETSC_VIEWER_STDOUT_WORLD) it cause the default behavior
89: for that viewer to be used.
91: 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
93: .seealso: PetscViewerASCIIOpen(), PetscViewerBinaryOpen(), MatView(), VecView(), PetscViewerType,
94: PetscViewerPushFormat(), PetscViewerPopFormat(), PetscViewerDrawOpen(),PetscViewerSocketOpen()
95: @*/
96: PetscErrorCode PetscViewerSetFormat(PetscViewer viewer,PetscViewerFormat format)
97: {
99: if (!viewer) viewer = PETSC_VIEWER_STDOUT_SELF;
102: viewer->format = format;
103: return(0);
104: }
106: /*@C
107: PetscViewerPushFormat - Sets the format for file PetscViewers.
109: Logically Collective on PetscViewer
111: Input Parameters:
112: + viewer - the PetscViewer
113: - format - the format
115: Level: intermediate
117: Notes:
118: Available formats include
119: + PETSC_VIEWER_DEFAULT - default format
120: . PETSC_VIEWER_ASCII_MATLAB - MATLAB format
121: . PETSC_VIEWER_ASCII_IMPL - implementation-specific format
122: (which is in many cases the same as the default)
123: . PETSC_VIEWER_ASCII_INFO - basic information about object
124: . PETSC_VIEWER_ASCII_INFO_DETAIL - more detailed info
125: about object
126: . PETSC_VIEWER_ASCII_COMMON - identical output format for
127: all objects of a particular type
128: . PETSC_VIEWER_ASCII_INDEX - (for vectors) prints the vector
129: element number next to each vector entry
130: . PETSC_VIEWER_NATIVE - store the object to the binary
131: file in its native format (for example, dense
132: matrices are stored as dense), for DMDA vectors displays vectors in DMDA ordering, not natural
133: . PETSC_VIEWER_DRAW_BASIC - views the vector with a simple 1d plot
134: . PETSC_VIEWER_DRAW_LG - views the vector with a line graph
135: . PETSC_VIEWER_DRAW_CONTOUR - views the vector with a contour plot
136: - PETSC_VIEWER_ASCII_XML - saves the data in XML format, needed for PetscLogView() when viewing with PetscLogNestedBegin()
138: These formats are most often used for viewing matrices and vectors.
139: Currently, the object name is used only in the MATLAB 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: }
156: /*@C
157: PetscViewerPopFormat - Resets the format for file PetscViewers.
159: Logically Collective on PetscViewer
161: Input Parameters:
162: . viewer - the PetscViewer
164: Level: intermediate
166: .seealso: PetscViewerASCIIOpen(), PetscViewerBinaryOpen(), MatView(), VecView(),
167: PetscViewerSetFormat(), PetscViewerPushFormat()
168: @*/
169: PetscErrorCode PetscViewerPopFormat(PetscViewer viewer)
170: {
173: if (viewer->iformat <= 0) return(0);
175: viewer->format = viewer->formats[--viewer->iformat];
176: return(0);
177: }
179: PetscErrorCode PetscViewerGetFormat(PetscViewer viewer,PetscViewerFormat *format)
180: {
182: *format = viewer->format;
183: return(0);
184: }