1 2 #include <petsc/private/viewerimpl.h> /*I "petscsys.h" I*/ 3 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_FLAMEGRAPH", 25 "ASCII_GLVIS", 26 "ASCII_CSV", 27 "DRAW_BASIC", 28 "DRAW_LG", 29 "DRAW_LG_XRANGE", 30 "DRAW_CONTOUR", 31 "DRAW_PORTS", 32 "VTK_VTS", 33 "VTK_VTR", 34 "VTK_VTU", 35 "BINARY_MATLAB", 36 "NATIVE", 37 "HDF5_PETSC", 38 "HDF5_VIZ", 39 "HDF5_XDMF", 40 "HDF5_MAT", 41 "NOFORMAT", 42 "LOAD_BALANCE", 43 "FAILED", 44 "PetscViewerFormat", 45 "PETSC_VIEWER_", 46 NULL 47 }; 48 49 /*@C 50 PetscViewerSetFormat - Sets the format for PetscViewers. 51 52 Logically Collective on PetscViewer 53 54 This routine is deprecated, you should use PetscViewerPushFormat()/PetscViewerPopFormat() 55 56 Input Parameters: 57 + viewer - the PetscViewer 58 - format - the format 59 60 Level: intermediate 61 62 Notes: 63 Available formats include 64 + PETSC_VIEWER_DEFAULT - default format 65 . PETSC_VIEWER_ASCII_MATLAB - MATLAB format 66 . PETSC_VIEWER_ASCII_DENSE - print matrix as dense 67 . PETSC_VIEWER_ASCII_IMPL - implementation-specific format 68 (which is in many cases the same as the default) 69 . PETSC_VIEWER_ASCII_INFO - basic information about object 70 . PETSC_VIEWER_ASCII_INFO_DETAIL - more detailed info 71 about object 72 . PETSC_VIEWER_ASCII_COMMON - identical output format for 73 all objects of a particular type 74 . PETSC_VIEWER_ASCII_INDEX - (for vectors) prints the vector 75 element number next to each vector entry 76 . PETSC_VIEWER_ASCII_SYMMODU - print parallel vectors without 77 indicating the processor ranges 78 . PETSC_VIEWER_ASCII_VTK - outputs the object to a VTK file (deprecated since v3.14) 79 . PETSC_VIEWER_NATIVE - store the object to the binary 80 file in its native format (for example, dense 81 matrices are stored as dense), DMDA vectors are dumped directly to the 82 file instead of being first put in the natural ordering 83 . PETSC_VIEWER_DRAW_BASIC - views the vector with a simple 1d plot 84 . PETSC_VIEWER_DRAW_LG - views the vector with a line graph 85 - PETSC_VIEWER_DRAW_CONTOUR - views the vector with a contour plot 86 87 These formats are most often used for viewing matrices and vectors. 88 89 If a format (for example PETSC_VIEWER_DRAW_CONTOUR) was applied to a viewer 90 where it didn't apply (PETSC_VIEWER_STDOUT_WORLD) it cause the default behavior 91 for that viewer to be used. 92 93 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 94 95 .seealso: PetscViewerGetFormat(), PetscViewerASCIIOpen(), PetscViewerBinaryOpen(), MatView(), VecView(), PetscViewerType, 96 PetscViewerPushFormat(), PetscViewerPopFormat(), PetscViewerDrawOpen(),PetscViewerSocketOpen() 97 @*/ 98 PetscErrorCode PetscViewerSetFormat(PetscViewer viewer,PetscViewerFormat format) 99 { 100 PetscFunctionBegin; 101 if (!viewer) viewer = PETSC_VIEWER_STDOUT_SELF; 102 PetscValidHeaderSpecific(viewer,PETSC_VIEWER_CLASSID,1); 103 PetscValidLogicalCollectiveEnum(viewer,format,2); 104 viewer->format = format; 105 PetscFunctionReturn(0); 106 } 107 108 /*@C 109 PetscViewerPushFormat - Sets the format for file PetscViewers. 110 111 Logically Collective on PetscViewer 112 113 Input Parameters: 114 + viewer - the PetscViewer 115 - format - the format 116 117 Level: intermediate 118 119 Notes: 120 Available formats include 121 + PETSC_VIEWER_DEFAULT - default format 122 . PETSC_VIEWER_ASCII_MATLAB - MATLAB format 123 . PETSC_VIEWER_ASCII_IMPL - implementation-specific format 124 (which is in many cases the same as the default) 125 . PETSC_VIEWER_ASCII_INFO - basic information about object 126 . PETSC_VIEWER_ASCII_INFO_DETAIL - more detailed info 127 about object 128 . PETSC_VIEWER_ASCII_COMMON - identical output format for 129 all objects of a particular type 130 . PETSC_VIEWER_ASCII_INDEX - (for vectors) prints the vector 131 element number next to each vector entry 132 . PETSC_VIEWER_NATIVE - store the object to the binary 133 file in its native format (for example, dense 134 matrices are stored as dense), for DMDA vectors displays vectors in DMDA ordering, not natural 135 . PETSC_VIEWER_DRAW_BASIC - views the vector with a simple 1d plot 136 . PETSC_VIEWER_DRAW_LG - views the vector with a line graph 137 . PETSC_VIEWER_DRAW_CONTOUR - views the vector with a contour plot 138 - PETSC_VIEWER_ASCII_XML - saves the data in XML format, needed for PetscLogView() when viewing with PetscLogNestedBegin() 139 140 These formats are most often used for viewing matrices and vectors. 141 Currently, the object name is used only in the MATLAB format. 142 143 .seealso: PetscViewerASCIIOpen(), PetscViewerBinaryOpen(), MatView(), VecView(), 144 PetscViewerSetFormat(), PetscViewerPopFormat() 145 @*/ 146 PetscErrorCode PetscViewerPushFormat(PetscViewer viewer,PetscViewerFormat format) 147 { 148 PetscFunctionBegin; 149 PetscValidHeaderSpecific(viewer,PETSC_VIEWER_CLASSID,1); 150 PetscValidLogicalCollectiveEnum(viewer,format,2); 151 if (viewer->iformat > PETSCVIEWERFORMATPUSHESMAX-1) SETERRQ(PETSC_COMM_SELF,PETSC_ERR_ARG_OUTOFRANGE,"Too many PetscViewerPushFormat(), perhaps you forgot PetscViewerPopFormat()?"); 152 153 viewer->formats[viewer->iformat++] = viewer->format; 154 viewer->format = format; 155 PetscFunctionReturn(0); 156 } 157 158 /*@C 159 PetscViewerPopFormat - Resets the format for file PetscViewers. 160 161 Logically Collective on PetscViewer 162 163 Input Parameters: 164 . viewer - the PetscViewer 165 166 Level: intermediate 167 168 .seealso: PetscViewerASCIIOpen(), PetscViewerBinaryOpen(), MatView(), VecView(), 169 PetscViewerSetFormat(), PetscViewerPushFormat() 170 @*/ 171 PetscErrorCode PetscViewerPopFormat(PetscViewer viewer) 172 { 173 PetscFunctionBegin; 174 PetscValidHeaderSpecific(viewer,PETSC_VIEWER_CLASSID,1); 175 if (viewer->iformat <= 0) PetscFunctionReturn(0); 176 177 viewer->format = viewer->formats[--viewer->iformat]; 178 PetscFunctionReturn(0); 179 } 180 181 /*@C 182 PetscViewerGetFormat - Gets the format for PetscViewers. 183 184 Not collective 185 186 Input Parameter: 187 . viewer - the PetscViewer 188 189 Output Parameter: 190 . format - the format 191 192 Level: intermediate 193 194 Notes: 195 Available formats include 196 + PETSC_VIEWER_DEFAULT - default format 197 . PETSC_VIEWER_ASCII_MATLAB - MATLAB format 198 . PETSC_VIEWER_ASCII_DENSE - print matrix as dense 199 . PETSC_VIEWER_ASCII_IMPL - implementation-specific format 200 (which is in many cases the same as the default) 201 . PETSC_VIEWER_ASCII_INFO - basic information about object 202 . PETSC_VIEWER_ASCII_INFO_DETAIL - more detailed info 203 about object 204 . PETSC_VIEWER_ASCII_COMMON - identical output format for 205 all objects of a particular type 206 . PETSC_VIEWER_ASCII_INDEX - (for vectors) prints the vector 207 element number next to each vector entry 208 . PETSC_VIEWER_ASCII_SYMMODU - print parallel vectors without 209 indicating the processor ranges 210 . PETSC_VIEWER_ASCII_VTK - outputs the object to a VTK file (deprecated since v3.14) 211 . PETSC_VIEWER_NATIVE - store the object to the binary 212 file in its native format (for example, dense 213 matrices are stored as dense), DMDA vectors are dumped directly to the 214 file instead of being first put in the natural ordering 215 . PETSC_VIEWER_DRAW_BASIC - views the vector with a simple 1d plot 216 . PETSC_VIEWER_DRAW_LG - views the vector with a line graph 217 - PETSC_VIEWER_DRAW_CONTOUR - views the vector with a contour plot 218 219 These formats are most often used for viewing matrices and vectors. 220 221 If a format (for example PETSC_VIEWER_DRAW_CONTOUR) was applied to a viewer 222 where it didn't apply (PETSC_VIEWER_STDOUT_WORLD) it cause the default behavior 223 for that viewer to be used. 224 225 .seealso: PetscViewerSetFormat(), PetscViewerASCIIOpen(), PetscViewerBinaryOpen(), MatView(), VecView(), PetscViewerType, 226 PetscViewerPushFormat(), PetscViewerPopFormat(), PetscViewerDrawOpen(),PetscViewerSocketOpen() 227 @*/ 228 PetscErrorCode PetscViewerGetFormat(PetscViewer viewer,PetscViewerFormat *format) 229 { 230 PetscFunctionBegin; 231 *format = viewer->format; 232 PetscFunctionReturn(0); 233 } 234