Reference documentation for deal.II version 9.4.1
|
#include <deal.II/grid/grid_out.h>
Public Types | |
enum | OutputFormat { none , dx , gnuplot , eps , ucd , xfig , msh , svg , mathgl , vtk , vtu } |
Public Member Functions | |
GridOut () | |
template<int dim, int spacedim> | |
void | write_dx (const Triangulation< dim, spacedim > &tria, std::ostream &out) const |
template<int dim, int spacedim> | |
void | write_gnuplot (const Triangulation< dim, spacedim > &tria, std::ostream &out, const Mapping< dim, spacedim > *mapping=nullptr) const |
template<int dim, int spacedim> | |
void | write_msh (const Triangulation< dim, spacedim > &tria, std::ostream &out) const |
template<int dim, int spacedim> | |
void | write_msh (const Triangulation< dim, spacedim > &tria, const std::string &filename) const |
template<int dim, int spacedim> | |
void | write_ucd (const Triangulation< dim, spacedim > &tria, std::ostream &out) const |
template<int dim, int spacedim> | |
void | write_eps (const Triangulation< dim, spacedim > &tria, std::ostream &out, const Mapping< dim, spacedim > *mapping=nullptr) const |
template<int dim, int spacedim> | |
void | write_xfig (const Triangulation< dim, spacedim > &tria, std::ostream &out, const Mapping< dim, spacedim > *mapping=nullptr) const |
void | write_svg (const Triangulation< 2, 2 > &tria, std::ostream &out) const |
template<int dim, int spacedim> | |
void | write_svg (const Triangulation< dim, spacedim > &tria, std::ostream &out) const |
template<int dim, int spacedim> | |
void | write_mathgl (const Triangulation< dim, spacedim > &tria, std::ostream &out) const |
template<int dim, int spacedim> | |
void | write_vtk (const Triangulation< dim, spacedim > &tria, std::ostream &out) const |
template<int dim, int spacedim> | |
void | write_vtu (const Triangulation< dim, spacedim > &tria, std::ostream &out) const |
template<int dim, int spacedim> | |
void | write_mesh_per_processor_as_vtu (const Triangulation< dim, spacedim > &tria, const std::string &filename_without_extension, const bool view_levels=false, const bool include_artificial=false) const |
template<int dim, int spacedim> | |
void | write (const Triangulation< dim, spacedim > &tria, std::ostream &out, const OutputFormat output_format, const Mapping< dim, spacedim > *mapping=nullptr) const |
template<int dim, int spacedim> | |
void | write (const Triangulation< dim, spacedim > &tria, std::ostream &out, const Mapping< dim, spacedim > *mapping=nullptr) const |
void | set_flags (const GridOutFlags::DX &flags) |
void | set_flags (const GridOutFlags::Msh &flags) |
void | set_flags (const GridOutFlags::Ucd &flags) |
void | set_flags (const GridOutFlags::Gnuplot &flags) |
void | set_flags (const GridOutFlags::Eps< 1 > &flags) |
void | set_flags (const GridOutFlags::Eps< 2 > &flags) |
void | set_flags (const GridOutFlags::Eps< 3 > &flags) |
void | set_flags (const GridOutFlags::XFig &flags) |
void | set_flags (const GridOutFlags::Svg &flags) |
void | set_flags (const GridOutFlags::MathGL &flags) |
void | set_flags (const GridOutFlags::Vtk &flags) |
void | set_flags (const GridOutFlags::Vtu &flags) |
std::string | default_suffix () const |
void | parse_parameters (ParameterHandler ¶m) |
std::size_t | memory_consumption () const |
template<> | |
void | write_dx (const Triangulation< 1 > &, std::ostream &) const |
template<> | |
void | write_dx (const Triangulation< 1, 2 > &, std::ostream &) const |
template<> | |
void | write_dx (const Triangulation< 1, 3 > &, std::ostream &) const |
template<> | |
void | write_xfig (const Triangulation< 2 > &tria, std::ostream &out, const Mapping< 2 > *) const |
template<> | |
void | write_mathgl (const Triangulation< 1 > &, std::ostream &) const |
Static Public Member Functions | |
static std::string | default_suffix (const OutputFormat output_format) |
static OutputFormat | parse_output_format (const std::string &format_name) |
static std::string | get_output_format_names () |
static void | declare_parameters (ParameterHandler ¶m) |
static ::ExceptionBase & | ExcInvalidState () |
Private Member Functions | |
template<int dim, int spacedim> | |
unsigned int | write_msh_faces (const Triangulation< dim, spacedim > &tria, const unsigned int next_element_index, std::ostream &out) const |
unsigned int | write_msh_faces (const Triangulation< 1, 1 > &tria, const unsigned int next_element_index, std::ostream &out) const |
unsigned int | write_msh_faces (const Triangulation< 1, 2 > &tria, const unsigned int next_element_index, std::ostream &out) const |
unsigned int | write_msh_faces (const Triangulation< 1, 3 > &tria, const unsigned int next_element_index, std::ostream &out) const |
template<int dim, int spacedim> | |
unsigned int | write_msh_lines (const Triangulation< dim, spacedim > &tria, const unsigned int next_element_index, std::ostream &out) const |
unsigned int | write_msh_lines (const Triangulation< 1, 1 > &tria, const unsigned int next_element_index, std::ostream &out) const |
unsigned int | write_msh_lines (const Triangulation< 1, 2 > &tria, const unsigned int next_element_index, std::ostream &out) const |
unsigned int | write_msh_lines (const Triangulation< 1, 3 > &tria, const unsigned int next_element_index, std::ostream &out) const |
unsigned int | write_msh_lines (const Triangulation< 2, 2 > &tria, const unsigned int next_element_index, std::ostream &out) const |
unsigned int | write_msh_lines (const Triangulation< 2, 3 > &tria, const unsigned int next_element_index, std::ostream &out) const |
template<int dim, int spacedim> | |
unsigned int | write_ucd_faces (const Triangulation< dim, spacedim > &tria, const unsigned int next_element_index, std::ostream &out) const |
unsigned int | write_ucd_faces (const Triangulation< 1, 1 > &tria, const unsigned int next_element_index, std::ostream &out) const |
unsigned int | write_ucd_faces (const Triangulation< 1, 2 > &tria, const unsigned int next_element_index, std::ostream &out) const |
unsigned int | write_ucd_faces (const Triangulation< 1, 3 > &tria, const unsigned int next_element_index, std::ostream &out) const |
template<int dim, int spacedim> | |
unsigned int | write_ucd_lines (const Triangulation< dim, spacedim > &tria, const unsigned int next_element_index, std::ostream &out) const |
unsigned int | write_ucd_lines (const Triangulation< 1, 1 > &tria, const unsigned int next_element_index, std::ostream &out) const |
unsigned int | write_ucd_lines (const Triangulation< 1, 2 > &tria, const unsigned int next_element_index, std::ostream &out) const |
unsigned int | write_ucd_lines (const Triangulation< 1, 3 > &tria, const unsigned int next_element_index, std::ostream &out) const |
unsigned int | write_ucd_lines (const Triangulation< 2, 2 > &tria, const unsigned int next_element_index, std::ostream &out) const |
unsigned int | write_ucd_lines (const Triangulation< 2, 3 > &tria, const unsigned int next_element_index, std::ostream &out) const |
template<int dim, int spacedim> | |
unsigned int | n_boundary_faces (const Triangulation< dim, spacedim > &tria) const |
unsigned int | n_boundary_faces (const Triangulation< 1, 1 > &tria) const |
unsigned int | n_boundary_faces (const Triangulation< 1, 2 > &tria) const |
unsigned int | n_boundary_faces (const Triangulation< 1, 3 > &tria) const |
template<int dim, int spacedim> | |
unsigned int | n_boundary_lines (const Triangulation< dim, spacedim > &tria) const |
unsigned int | n_boundary_lines (const Triangulation< 1, 1 > &tria) const |
unsigned int | n_boundary_lines (const Triangulation< 1, 2 > &tria) const |
unsigned int | n_boundary_lines (const Triangulation< 1, 3 > &tria) const |
unsigned int | n_boundary_lines (const Triangulation< 2, 2 > &tria) const |
unsigned int | n_boundary_lines (const Triangulation< 2, 3 > &tria) const |
This class provides a means to output a triangulation to a file in different formats. See the enum GridOut::OutputFormat for a list of formats and the corresponding output function names.
Usage is simple: either you use the direct form
if you know which format you want to have, or if you want the format to be a runtime parameter, you can write
The function get_output_format_names()
provides a list of possible names of output formats in a string that is understandable by the ParameterHandler class.
Note that here, we have created an unnamed object of type GridOut and called one of its write_*
functions. This looks like as if the respective function could really be made static
. This was not done in order to allow for parameters to be passed to the different output functions in a way compatible with the scheme of allowing the right output format to be selected at run-time through the generic write
function.
In order to explain this, consider each function had one or more additional parameters giving the details of output, for example position of the spectator for 3d meshed, line thicknesses, etc. While this would allow each output function any flexibility it needs, it would not allow us to use the generic function write
which is given a parameter determining the output format, since it is impractical to give it a list of parameters for each and every output format supported which it may then pass on to the respective output function.
Rather, we have chosen to let each object of this class GridOut have a set of parameters for each supported output format. These are collected in structures GridOutFlags::Eps(), GridOutFlags::Gnuplot(), etc declared in the GridOutFlags namespace, and you can set your preferred flags like this:
The respective output function then use the so-set flags. By default, they are set to reasonable values as described above and in the documentation of the different flags structures. Resetting the flags can be done by calling grid_out.set_flags (GridOutFlags::Ucd());
, since the default constructor of each of the flags structures sets the parameters to their initial values.
The advantage of this approach is that it is possible to change the flags of one or more output formats according to your needs and later use the generic write
function; the actual output function then called will use the flags as set before.
Note that some of the structures describing the flags of the different output formats are empty since the respective format does not support any flags. The structure and the set_flags
function are provided anyway. Note also that some of the structures may differ between the dimensions supported by this class; they then have a template parameter, as usual.
Definition at line 992 of file grid_out.h.
Declaration of a name for each of the different output formats. These are used by the generic output function write() to determine the actual output format.
Enumerator | |
---|---|
none | Do nothing in write() |
dx | write() calls write_dx() |
gnuplot | write() calls write_gnuplot() |
eps | write() calls write_eps() |
ucd | write() calls write_ucd() |
xfig | write() calls write_xfig() |
msh | write() calls write_msh() |
svg | write() calls write_svg() |
mathgl | write() calls write_mathgl() |
vtk | write() calls write_vtk() |
vtu | write() calls write_vtu() |
Definition at line 1000 of file grid_out.h.
GridOut::GridOut | ( | ) |
Constructor.
Definition at line 465 of file grid_out.cc.
void GridOut::write_dx | ( | const Triangulation< dim, spacedim > & | tria, |
std::ostream & | out | ||
) | const |
Write triangulation in OpenDX format.
Cells or faces are written together with their level and their material id or boundary indicator, resp.
Not implemented for the codimension one case.
Definition at line 781 of file grid_out.cc.
void GridOut::write_gnuplot | ( | const Triangulation< dim, spacedim > & | tria, |
std::ostream & | out, | ||
const Mapping< dim, spacedim > * | mapping = nullptr |
||
) | const |
Write the triangulation in the gnuplot format.
In GNUPLOT format, each cell is written as a sequence of its confining lines. Apart from the coordinates of the lines' end points, the level and the material of the cell are appended to each line of output. Therefore, if you let GNUPLOT draw a 2d grid as a 3d plot, you will see more refined cells being raised against cells with less refinement. Also, if you draw a cut through a 3d grid, you can extrude the refinement level in the direction orthogonal to the cut plane. The same can be done with the material id, which is plotted after the level.
A more useful application of this feature is the following: if you use the GNUPLOT command (for a 2d grid here)
* splot [:][:][2.5:3.5] "grid_file.gnuplot" * *
then the whole x- and y-range will be plotted, i.e. the whole grid, but only those lines with a z-value between 2.5 and 3.5. Since the z-values were chosen to be the level to which a cell belongs, this results in a plot of those cells only that belong to level 3 in this example. This way, it is easy to produce plots of the different levels of grid.
mapping
is a pointer to a mapping used for the transformation of cells at the boundary. If zero, then use standard Q1 mapping.
Names and values of additional flags controlling the output can be found in the documentation of the GridOutFlags::Gnuplot class, which also describes some caveats for the codimension one case.
Definition at line 4588 of file grid_out.cc.
void GridOut::write_msh | ( | const Triangulation< dim, spacedim > & | tria, |
std::ostream & | out | ||
) | const |
Write the triangulation in the msh format.
Msh is the format used by Gmsh and it is described in the Gmsh user's guide. Besides the usual output of the grid only, you can decide through additional flags (see below, and the documentation of the GridOutFlags::Msh() class) whether boundary faces with non-zero boundary indicator shall be written to the file explicitly. This is useful, if you want to re-read the grid later on, since deal.II
sets the boundary indicator to zero by default; therefore, to obtain the same triangulation as before, you have to specify faces with differing boundary indicators explicitly, which is done by this flag.
Names and values of further flags controlling the output can be found in the documentation of the GridOutFlags::Msh() class.
Works also in the codimension one case.
Definition at line 1019 of file grid_out.cc.
void GridOut::write_msh | ( | const Triangulation< dim, spacedim > & | tria, |
const std::string & | filename | ||
) | const |
Write the triangulation in any format supported by gmsh API.
Gmsh API allows writing its output in several formats through their C++ API. This function translates a Triangulation object into a gmsh collection of entities and calls the gmsh::write() method with the filename passed as argument. This method generates a different entity for each unique pair of non default manifold id and boundary id, and writes a gmsh physical group for each unique combination, allowing you to read back the triangulation using the GridIn::read_msh() method that takes a string as argument.
In particular, all cell objects with non default boundary id or non default manifold id are grouped in a unique physical tag, whose name contains the boundary and manifold indicators. The names are constructed using Patterns::Tools::to_value() applied to a std::map<std::string, int>
where the keys are either MaterialID
, BoundaryID
, or ManifoldID
, i.e., a cell with material id 1, and manifold id 3 would be grouped in a physical tag (whose numbering is not specified), named MaterialID:1, ManifoldID:3
.
For example, calling the method with a hyper ball grid refined once, would results in the following physical tags defined in the output file :
The special boundary id -1
is used to indicate internal boundaries. The internal boundaries must be specified whenever it is necessary to specify a non-flat manifold id.
Definition at line 1440 of file grid_out.cc.
void GridOut::write_ucd | ( | const Triangulation< dim, spacedim > & | tria, |
std::ostream & | out | ||
) | const |
Write the triangulation in the ucd format.
UCD (unstructured cell data) is the format used by AVS and some other programs. It is described in the AVS developer's guide. Besides the usual output of the grid only, you can decide through additional flags (see below, and the documentation of the GridOutFlags::Ucd() class) whether boundary faces with non-zero boundary indicator shall be written to the file explicitly. This is useful, if you want to re-read the grid later on, since deal.II
sets the boundary indicator to zero by default; therefore, to obtain the same triangulation as before, you have to specify faces with differing boundary indicators explicitly, which is done by this flag.
Names and values of further flags controlling the output can be found in the documentation of the GridOutFlags::Ucd() class.
Works also for the codimension one case.
Definition at line 1119 of file grid_out.cc.
void GridOut::write_eps | ( | const Triangulation< dim, spacedim > & | tria, |
std::ostream & | out, | ||
const Mapping< dim, spacedim > * | mapping = nullptr |
||
) | const |
Write the triangulation in the encapsulated postscript format.
In this format, each line of the triangulation is written separately. We scale the picture such that either x-values or y-values range between zero and a fixed size. The other axis is scaled by the same factor. Which axis is taken to compute the scale and the size of the box it shall fit into is determined by the output flags (see below, and the documentation of the GridOutFlags::Eps() class).
The bounding box is close to the triangulation on all four sides, without an extra frame. The line width is chosen to be 0.5 by default, but can be changed. The line width is to be compared with the extension of the picture, of which the default is 300.
The flag color_lines_on_user_flag
allows to draw lines with the user_flag
set to be drawn in red. The colors black and red are defined as b
and r
in the preamble of the output file and can be changed there according to need.
mapping
is a pointer to a mapping used for the transformation of cells at the boundary. If zero, then use standard Q1 mapping.
Names and values of additional flags controlling the output can be found in the documentation of the GridOutFlags::Eps() class. Especially the viewpoint for three dimensional grids is of importance here.
Not implemented for the codimension one case.
Definition at line 5098 of file grid_out.cc.
void GridOut::write_xfig | ( | const Triangulation< dim, spacedim > & | tria, |
std::ostream & | out, | ||
const Mapping< dim, spacedim > * | mapping = nullptr |
||
) | const |
Write two-dimensional XFig-file.
This function writes all grid cells as polygons and optionally boundary lines. Several parameters can be adjusted by the XFigFlags control object.
If levels are coded to depth, the complete grid hierarchy is plotted with fine cells before their parents. This way, levels can be switched on and off in xfig by selecting levels.
Polygons are either at depth 900-level or at 900+material_id
, depending on the flag level_depth
. Accordingly, boundary edges are at depth 800-level or at 800+boundary_id
. Therefore, boundary edges are always in front of cells.
Not implemented for the codimension one case.
Definition at line 1236 of file grid_out.cc.
void GridOut::write_svg | ( | const Triangulation< 2, 2 > & | tria, |
std::ostream & | out | ||
) | const |
Write the triangulation in the SVG format.
SVG (Scalable Vector Graphics) is an XML-based vector image format developed and maintained by the World Wide Web Consortium (W3C). This function conforms to the latest specification SVG 1.1, released on August 16, 2011.
The cells of the triangulation are written as polygons with additional lines at the boundary of the triangulation. A coloring of the cells is further possible in order to visualize a certain property of the cells such as their level or material id. A colorbar can be drawn to encode the chosen coloring. Moreover, a cell label can be added, showing level index, etc. Indeed, by using the set_flags() with an appropriately generated object of type GridOutFlags::Svg, many aspects of how and what is being visualized by this function can be customized.
Definition at line 1695 of file grid_out.cc.
void GridOut::write_svg | ( | const Triangulation< dim, spacedim > & | tria, |
std::ostream & | out | ||
) | const |
Declaration of the same function as above for all other dimensions and space dimensions. This function is not currently implemented and is only declared to exist to support dimension independent programming.
Definition at line 1677 of file grid_out.cc.
void GridOut::write_mathgl | ( | const Triangulation< dim, spacedim > & | tria, |
std::ostream & | out | ||
) | const |
Write triangulation in MathGL script format. To interpret this file a version of MathGL>=2.0.0 is required.
To get a handle on the resultant MathGL script within a graphical environment an interpreter is needed. A suggestion to start with is mglview
, which is bundled with MathGL. mglview
can interpret and display small-to-medium MathGL scripts in a graphical window and enables conversion to other formats such as EPS, PNG, JPG, SVG, as well as view/display animations. Some minor editing, such as modifying the lighting or alpha channels, can also be done.
Definition at line 2978 of file grid_out.cc.
void GridOut::write_vtk | ( | const Triangulation< dim, spacedim > & | tria, |
std::ostream & | out | ||
) | const |
Write triangulation in VTK format. This function writes a UNSTRUCTURED_GRID file, that contains the following VTK cell types: VTK_HEXAHEDRON, VTK_QUAD, and VTK_LINE, depending on the template dimension.
In three dimensions, this function writes a file that contains
In two dimensions:
In one dimension
The output file will contain two CELL_DATA sections, MaterialID
and ManifoldID
, recording for each VTK cell type the material or boundary id, and the manifold. See the VTK file format documentation for an explanation of the generated output.
The companion GridIn::read_vtk function can be used to read VTK files generated with this method.
Definition at line 3301 of file grid_out.cc.
void GridOut::write_vtu | ( | const Triangulation< dim, spacedim > & | tria, |
std::ostream & | out | ||
) | const |
Write triangulation in VTU format.
Due to the way this function writes data to the output stream, the resulting output files correspond to a faithful representation of the mesh in that all cells are visible for visualization. In general, the data is not in a format that allows reading this file in again through the GridIn class. This is because every vertex of the mesh is duplicated as many times as there are adjacent cells. In other words, every cell has its own, separate set of vertices that are at the same location as the vertices of other cells, but are separately numbered.
In order to create a file that can be read with the GridIn class, the flag GridOutFlags::Vtu::serialize_triangulation must be set to true. In this case, the generated vtu file will contain the triangulation in a xml section which is ignored by general vtu readers.
Definition at line 3540 of file grid_out.cc.
void GridOut::write_mesh_per_processor_as_vtu | ( | const Triangulation< dim, spacedim > & | tria, |
const std::string & | filename_without_extension, | ||
const bool | view_levels = false , |
||
const bool | include_artificial = false |
||
) | const |
Write triangulation in VTU format for each processor, and add a .pvtu file for visualization in VisIt or Paraview that describes the collection of VTU files as all part of the same simulation. The output is in the form filename_without_extension.proc000*.vtu
where * is 0,1,...,n_proc-1 and filename_without_extension.pvtu
. The input view_levels
can be set as true to view each level of a multilevel method. The input include_artificial
can be set as true to view the artificial cells for each processor. Each .vtu and .pvtu file will have the attributes subdomain, level_subdomain, level, and proc_writing. The level value can be used to separate the image into the view of the grid on each level of a multilevel method and the proc_writing value can be used to separate the image into each processor's owned and ghost cells. This is accomplished by applying the "warp by scalar" filter in paraview to each of the values. After opening the .pvtu file of a mesh where the input view_levels
is set to true, select the "warp by scalar" filter. For the "Scalars" input select proc_writing
and for the "Normal" input enter in 1 0 0, then click Apply. Next select the "warp by
scalar" filter again. For the "Scalars" input select level
and for the "Normal" input enter in 0 1 0, then click Apply. This will give you the following image.
If the view_levels
remains at false, thereby only giving the mesh for the active level, it is enough to separate the image into the views written by different processors. This is shown in the following image where the include_artificial
input is set as true.
Note: Depending on the size of the mesh you may need to increase the "Scale Factor" input so that each piece does not overlap.
Definition at line 3587 of file grid_out.cc.
void GridOut::write | ( | const Triangulation< dim, spacedim > & | tria, |
std::ostream & | out, | ||
const OutputFormat | output_format, | ||
const Mapping< dim, spacedim > * | mapping = nullptr |
||
) | const |
Write grid to out
according to the given data format. This function simply calls the appropriate write_*
function.
Definition at line 5108 of file grid_out.cc.
void GridOut::write | ( | const Triangulation< dim, spacedim > & | tria, |
std::ostream & | out, | ||
const Mapping< dim, spacedim > * | mapping = nullptr |
||
) | const |
Write mesh in default format set by ParameterHandler.
Definition at line 5165 of file grid_out.cc.
void GridOut::set_flags | ( | const GridOutFlags::DX & | flags | ) |
Set flags for DX output
Definition at line 471 of file grid_out.cc.
void GridOut::set_flags | ( | const GridOutFlags::Msh & | flags | ) |
Set flags for Gmsh output
Definition at line 479 of file grid_out.cc.
void GridOut::set_flags | ( | const GridOutFlags::Ucd & | flags | ) |
Set flags for UCD output
Definition at line 486 of file grid_out.cc.
void GridOut::set_flags | ( | const GridOutFlags::Gnuplot & | flags | ) |
Set flags for GNUPLOT output
Definition at line 494 of file grid_out.cc.
void GridOut::set_flags | ( | const GridOutFlags::Eps< 1 > & | flags | ) |
Set flags for EPS output of a one-dimensional triangulation
Definition at line 502 of file grid_out.cc.
void GridOut::set_flags | ( | const GridOutFlags::Eps< 2 > & | flags | ) |
Set flags for EPS output of a two-dimensional triangulation
Definition at line 510 of file grid_out.cc.
void GridOut::set_flags | ( | const GridOutFlags::Eps< 3 > & | flags | ) |
Set flags for EPS output of a three-dimensional triangulation
Definition at line 518 of file grid_out.cc.
void GridOut::set_flags | ( | const GridOutFlags::XFig & | flags | ) |
Set flags for EPS output of a three-dimensional triangulation
Definition at line 526 of file grid_out.cc.
void GridOut::set_flags | ( | const GridOutFlags::Svg & | flags | ) |
Set flags for SVG output
Definition at line 533 of file grid_out.cc.
void GridOut::set_flags | ( | const GridOutFlags::MathGL & | flags | ) |
Set flags for MathGL output
Definition at line 540 of file grid_out.cc.
void GridOut::set_flags | ( | const GridOutFlags::Vtk & | flags | ) |
Set flags for VTK output
Definition at line 546 of file grid_out.cc.
void GridOut::set_flags | ( | const GridOutFlags::Vtu & | flags | ) |
Set flags for VTU output
Definition at line 552 of file grid_out.cc.
|
static |
Provide a function that can tell us which suffix a given output format usually has. For example, it defines the following mappings:
OpenDX:
.dx
gnuplot:
.gnuplot
ucd:
.inp
eps:
.eps
. Similar mappings are provided for all implemented formats.
Since this function does not need data from this object, it is static and can thus be called without creating an object of this class.
Definition at line 558 of file grid_out.cc.
std::string GridOut::default_suffix | ( | ) | const |
Default suffix for the default output format selected through ParameterHandler.
Definition at line 593 of file grid_out.cc.
|
static |
Return the OutputFormat
value corresponding to the given string. If the string does not match any known format, an exception is thrown.
Since this function does not need data from this object, it is static and can thus be called without creating an object of this class. Its main purpose is to allow a program to use any implemented output format without the need to extend the program's parser each time a new format is implemented.
To get a list of presently available format names, e.g. to give it to the ParameterHandler class, use the function get_output_format_names().
Definition at line 601 of file grid_out.cc.
|
static |
Return a list of implemented output formats. The different names are separated by vertical bar signs (‘|’
) as used by the ParameterHandler classes.
Definition at line 644 of file grid_out.cc.
|
static |
Declare parameters in ParameterHandler.
Definition at line 651 of file grid_out.cc.
void GridOut::parse_parameters | ( | ParameterHandler & | param | ) |
Parse parameters of ParameterHandler.
Definition at line 700 of file grid_out.cc.
std::size_t GridOut::memory_consumption | ( | ) | const |
Determine an estimate for the memory consumption (in bytes) of this object.
Definition at line 746 of file grid_out.cc.
|
private |
Write the grid information about faces to out
. Only those faces are printed which are on the boundary and which have a boundary indicator not equal to zero, since the latter is the default for boundary faces.
Since, in Gmsh, geometric elements are continuously numbered, this function requires a parameter next_element_index
providing the next geometric element number. This index should have a numerical value equal to one more than the index previously used to write a geometric element to out
.
next_element_index
should be (at least) one larger than the current number of triangulation elements (lines, cells, faces) that have been written to out
. Gmsh will not load the saved file correctly if there are repeated indices.This function unfortunately can not be included in the regular write_msh
function, since it needs special treatment for the case dim==1
, in which case the face iterators are void*
's and lack the member functions which are called. We would not actually call these functions, but the compiler would complain anyway when compiling the function for dim==1
. Bad luck.
Definition at line 3895 of file grid_out.cc.
|
private |
Declaration of the specialization of above function for 1d. Does nothing.
Definition at line 3824 of file grid_out.cc.
|
private |
Declaration of the specialization of above function for 1d, 2sd. Does nothing.
Definition at line 3833 of file grid_out.cc.
|
private |
Definition at line 3841 of file grid_out.cc.
|
private |
Write the grid information about lines to out
. Only those lines are printed which are on the boundary and which have a boundary indicator not equal to zero, since the latter is the default for boundary faces.
Since, in Gmsh, geometric elements are continuously numbered, this function requires a parameter next_element_index
providing the next geometric element number. This index should have a numerical value equal to one more than the index previously used to write a geometric element to out
.
next_element_index
should be (at least) one larger than the current number of triangulation elements (lines, cells, faces) that have been written to out
. Gmsh will not load the saved file correctly if there are repeated indices.This function unfortunately can not be included in the regular write_msh
function, since it needs special treatment for the case dim==1
and dim==2
, in which case the edge iterators are void*
's and lack the member functions which are called. We would not actually call these functions, but the compiler would complain anyway when compiling the function for dim==1/2
. Bad luck.
Definition at line 3934 of file grid_out.cc.
|
private |
Declaration of the specialization of above function for 1d. Does nothing.
Definition at line 3850 of file grid_out.cc.
|
private |
Declaration of the specialization of above function for 1d, 2sd. Does nothing.
Definition at line 3858 of file grid_out.cc.
|
private |
Declaration of the specialization of above function for 1d, 3sd. Does nothing.
Definition at line 3867 of file grid_out.cc.
|
private |
Declaration of the specialization of above function for 2d. Does nothing.
Definition at line 3876 of file grid_out.cc.
|
private |
Declaration of the specialization of above function for 2d, 3sd. Does nothing.
Definition at line 3884 of file grid_out.cc.
|
private |
Write the grid information about faces to out
. Only those faces are printed which are on the boundary and which have a boundary indicator not equal to zero, since the latter is the default for boundary faces.
Since (in the UCD format) geometric elements are continuously numbered, this function requires a parameter next_element_index
providing the next geometric element number. This index should have a numerical value equal to one more than the index previously used to write a geometric element to out
.
next_element_index
should be (at least) one larger than the current number of triangulation elements (lines, cells, faces) that have been written to out
. Visualization programs may not load the saved file correctly if there are repeated indices.This function unfortunately can not be included in the regular write_ucd
function, since it needs special treatment for the case dim==1
, in which case the face iterators are void*
's and lack the member functions which are called. We would not actually call these functions, but the compiler would complain anyway when compiling the function for dim==1
. Bad luck.
Definition at line 4054 of file grid_out.cc.
|
private |
Declaration of the specialization of above function for 1d. Does nothing.
Definition at line 3985 of file grid_out.cc.
|
private |
Declaration of the specialization of above function for 1d, 2sd. Does nothing.
Definition at line 3993 of file grid_out.cc.
|
private |
Definition at line 4001 of file grid_out.cc.
|
private |
Write the grid information about lines to out
. Only those lines are printed which are on the boundary and which have a boundary indicator not equal to zero, since the latter is the default for boundary lines.
Since (in the UCD format) geometric elements are continuously numbered, this function requires a parameter next_element_index
providing the next geometric element number. This index should have a numerical value equal to one more than the index previously used to write a geometric element to out
.
next_element_index
should be (at least) one larger than the current number of triangulation elements (lines, cells, faces) that have been written to out
. Visualization programs may not load the saved file correctly if there are repeated indices.This function unfortunately can not be included in the regular write_ucd
function, since it needs special treatment for the case dim==1/2
, in which case the edge iterators are void*
's and lack the member functions which are called. We would not actually call these functions, but the compiler would complain anyway when compiling the function for dim==1/2
. Bad luck.
Definition at line 4096 of file grid_out.cc.
|
private |
Declaration of the specialization of above function for 1d. Does nothing.
Definition at line 4009 of file grid_out.cc.
|
private |
Declaration of the specialization of above function for 1d, 2sd. Does nothing.
Definition at line 4017 of file grid_out.cc.
|
private |
Declaration of the specialization of above function for 1d, 3sd. Does nothing.
Definition at line 4026 of file grid_out.cc.
|
private |
Declaration of the specialization of above function for 2d. Does nothing.
Definition at line 4035 of file grid_out.cc.
|
private |
Declaration of the specialization of above function for 2d, 3sd. Does nothing.
Definition at line 4043 of file grid_out.cc.
|
private |
Return the number of faces in the triangulation which have a boundary indicator not equal to zero. Only these faces are explicitly printed in the write_*
functions; all faces with indicator numbers::internal_face_boundary_id are interior ones and an indicator with value zero for faces at the boundary are considered default.
This function always returns an empty list in one dimension.
The reason for this function is the same as for write_ucd_faces(). See there for more information.
Definition at line 3775 of file grid_out.cc.
|
private |
Declaration of the specialization of above function for 1d. Simply returns zero.
Definition at line 3723 of file grid_out.cc.
|
private |
Declaration of the specialization of above function for 1d, 2sd. Simply returns zero.
Definition at line 3736 of file grid_out.cc.
|
private |
Declaration of the specialization of above function for 1d, 3sd. Simply returns zero.
Definition at line 3748 of file grid_out.cc.
|
private |
Return the number of lines in the triangulation which have a boundary indicator not equal to zero. Only these lines are explicitly printed in the write_*
functions; all lines with indicator numbers::internal_face_boundary_id are interior ones and an indicator with value zero for faces at the boundary are considered default.
This function always returns an empty list in one and two dimensions.
The reason for this function is the same as for write_ucd_faces(). See there for more information.
Definition at line 3791 of file grid_out.cc.
|
private |
Declaration of the specialization of above function for 1d. Simply returns zero.
Definition at line 3729 of file grid_out.cc.
|
private |
Declaration of the specialization of above function for 1d, 2sd. Simply returns zero.
Definition at line 3742 of file grid_out.cc.
|
private |
Declaration of the specialization of above function for 1d, 3sd. Simply returns zero.
Definition at line 3754 of file grid_out.cc.
|
private |
Declaration of the specialization of above function for 2d. Simply returns zero.
Definition at line 3760 of file grid_out.cc.
|
private |
Declaration of the specialization of above function for 2d, 3sd. Simply returns zero.
Definition at line 3766 of file grid_out.cc.
void GridOut::write_dx | ( | const Triangulation< 1 > & | , |
std::ostream & | |||
) | const |
Definition at line 758 of file grid_out.cc.
void GridOut::write_dx | ( | const Triangulation< 1, 2 > & | , |
std::ostream & | |||
) | const |
Definition at line 765 of file grid_out.cc.
void GridOut::write_dx | ( | const Triangulation< 1, 3 > & | , |
std::ostream & | |||
) | const |
Definition at line 772 of file grid_out.cc.
void GridOut::write_xfig | ( | const Triangulation< 2 > & | tria, |
std::ostream & | out, | ||
const Mapping< 2 > * | |||
) | const |
Definition at line 1247 of file grid_out.cc.
void GridOut::write_mathgl | ( | const Triangulation< 1 > & | , |
std::ostream & | |||
) | const |
Definition at line 2968 of file grid_out.cc.
|
private |
The default output format, set by a ParameterHandler.
Definition at line 1549 of file grid_out.h.
|
private |
Flags for OpenDX output.
Definition at line 1554 of file grid_out.h.
|
private |
Flags for Gmsh output. Can be changed by using the set_flags(const GridOutFlags::Msh&) function.
Definition at line 1560 of file grid_out.h.
|
private |
Flags for UCD output. Can be changed by using the set_flags(const GridOutFlags::Ucd&) function.
Definition at line 1566 of file grid_out.h.
|
private |
Flags to be used upon output of GNUPLOT data. Can be changed by using the set_flags(const GridOutFlags::Gnuplot&) function.
Definition at line 1572 of file grid_out.h.
|
private |
Flags to be used upon output of EPS data in one space dimension. Can be changed by using the set_flags(const GridOutFlags::Eps<1>&) function.
Definition at line 1578 of file grid_out.h.
|
private |
Flags to be used upon output of EPS data in two space dimensions. Can be changed by using the set_flags
function.
Definition at line 1584 of file grid_out.h.
|
private |
Flags to be used upon output of EPS data in three space dimensions. Can be changed by using the set_flags
function.
Definition at line 1590 of file grid_out.h.
|
private |
Flags used for XFig output.
Definition at line 1595 of file grid_out.h.
|
private |
Flags used for Svg output.
Definition at line 1600 of file grid_out.h.
|
private |
Flags for MathGL output.
Definition at line 1605 of file grid_out.h.
|
private |
Flags for VTK output.
Definition at line 1610 of file grid_out.h.
|
private |
Flags for VTU output.
Definition at line 1615 of file grid_out.h.