Writer for the output of subsampled grid functions in the vtk format.Writes arbitrary grid functions (living on cells or vertices of a grid) to a file suitable for easy visualization with The Visualization Toolkit (VTK). In contrast to the regular VTKWriter, this Writer allows subsampling of the elements via VirtualRefinement. The SubSamplingVTKWriter always writes nonconforming data.
More...
#include <dune/grid/io/file/vtk/subsamplingvtkwriter.hh>
|
| SubsamplingVTKWriter (const GridView &gridView, int level_, bool coerceToSimplex_=false) |
| Construct a SubsamplingVTKWriter working on a specific GridView. More...
|
|
void | addCellData (const std::shared_ptr< const VTKFunction > &p) |
| Add a grid function that lives on the cells of the grid to the visualization. More...
|
|
template<typename F > |
void | addCellData (F &&f, VTK::FieldInfo vtkFieldInfo) |
|
template<class Container > |
void | addCellData (const Container &v, const std::string &name, int ncomps=1) |
| Add a grid function (represented by container) that lives on the cells of the grid to the visualization. More...
|
|
void | addVertexData (const std::shared_ptr< const VTKFunction > &p) |
| Add a grid function that lives on the vertices of the grid to the visualization. More...
|
|
template<typename F > |
void | addVertexData (F &&f, VTK::FieldInfo vtkFieldInfo) |
|
template<class Container > |
void | addVertexData (const Container &v, const std::string &name, int ncomps=1) |
| Add a grid function (represented by container) that lives on the vertices of the grid to the visualization output. More...
|
|
void | clear () |
| clear list of registered functions More...
|
|
std::string | write (const std::string &name, VTK::OutputType type=VTK::ascii) |
| write output (interface might change later) More...
|
|
std::string | pwrite (const std::string &name, const std::string &path, const std::string &extendpath, VTK::OutputType type=VTK::ascii) |
| write output (interface might change later) More...
|
|
|
virtual void | countEntities (int &nvertices, int &ncells, int &ncorners) |
| count the vertices, cells and corners More...
|
|
virtual void | writeCellData (VTK::VTUWriter &writer) |
| write cell data More...
|
|
virtual void | writeVertexData (VTK::VTUWriter &writer) |
| write vertex data More...
|
|
virtual void | writeGridPoints (VTK::VTUWriter &writer) |
| write the positions of vertices More...
|
|
virtual void | writeGridCells (VTK::VTUWriter &writer) |
| write the connectivity array More...
|
|
CellIterator | cellBegin () const |
|
CellIterator | cellEnd () const |
|
VertexIterator | vertexBegin () const |
|
VertexIterator | vertexEnd () const |
|
CornerIterator | cornerBegin () const |
|
CornerIterator | cornerEnd () const |
|
std::string | write (const std::string &name, VTK::OutputType type, const int commRank, const int commSize) |
| write output (interface might change later) More...
|
|
std::string | pwrite (const std::string &name, const std::string &path, const std::string &extendpath, VTK::OutputType ot, const int commRank, const int commSize) |
| write output; interface might change later More...
|
|
std::string | getParallelPieceName (const std::string &name, const std::string &path, int commRank, int commSize) const |
| return name of a parallel piece file More...
|
|
std::string | getParallelHeaderName (const std::string &name, const std::string &path, int commSize) const |
| return name of a parallel header file More...
|
|
std::string | getSerialPieceName (const std::string &name, const std::string &path) const |
| return name of a serial piece file More...
|
|
std::string | getFormatString () const |
|
std::string | getTypeString () const |
|
template<typename T > |
std::tuple< std::string, std::string > | getDataNames (const T &data) const |
|
template<typename Data , typename Iterator > |
void | writeData (VTK::VTUWriter &writer, const Data &data, const Iterator begin, const Iterator end, int nentries) |
|
bool | checkForPolyhedralCells () const |
|
virtual void | writeCellFaces (VTK::VTUWriter &writer) |
| write the connectivity array More...
|
|
template<class CornerIterator , class IndexSet , class T > |
void | fillFaceVertices (CornerIterator it, const CornerIterator end, const IndexSet &indexSet, std::vector< T > &faces, std::vector< T > &faceOffsets) |
|
|
template<class Entity , class IndexSet , class T > |
static void | fillFacesForElement (const Entity &element, const IndexSet &indexSet, const std::vector< T > &vertices, T &offset, std::vector< T > &faces, std::vector< T > &faceOffsets) |
|
template<class GridView>
class Dune::SubsamplingVTKWriter< GridView >
Writer for the output of subsampled grid functions in the vtk format.
Writes arbitrary grid functions (living on cells or vertices of a grid) to a file suitable for easy visualization with The Visualization Toolkit (VTK). In contrast to the regular VTKWriter, this Writer allows subsampling of the elements via VirtualRefinement. The SubSamplingVTKWriter always writes nonconforming data.
◆ VTKFunction
◆ SubsamplingVTKWriter()
template<class GridView >
Construct a SubsamplingVTKWriter working on a specific GridView.
- Parameters
-
gridView | The gridView the grid functions live on. (E. g. a LevelGridView.) |
level_ | The level for the subrefinement. |
coerceToSimplex_ | Set this to true to always triangulate elements into simplices, even where it's not necessary (i.e. for hypercubes). |
The datamode is always nonconforming.
◆ addCellData() [1/3]
Add a grid function that lives on the cells of the grid to the visualization.
- Parameters
-
p | std::shared_ptr to the function to visualize |
◆ addCellData() [2/3]
template<class GridView>
template<typename F >
◆ addCellData() [3/3]
template<class GridView>
template<class Container >
Add a grid function (represented by container) that lives on the cells of the grid to the visualization.
The container has to have random access via operator[] (e.g. std::vector). The value of the grid function for an arbitrary element will be accessed by calling operator[] with the index (corresponding to the index from the MGMC mapper on the grid view) of the element. For vector valued data all components for an element are assumed to be consecutive.
- Parameters
-
v | The container with the values of the grid function for each cell. |
name | A name to identify the grid function. |
ncomps | Number of components (default is 1). |
◆ addVertexData() [1/3]
Add a grid function that lives on the vertices of the grid to the visualization.
- Parameters
-
p | std::shared_ptr to the function to visualize |
◆ addVertexData() [2/3]
template<class GridView>
template<typename F >
◆ addVertexData() [3/3]
template<class GridView>
template<class Container >
Add a grid function (represented by container) that lives on the vertices of the grid to the visualization output.
The container has to have random access via operator[] (e.g. std::vector). The value of the grid function for an arbitrary element will be accessed by calling operator[] with the index (corresponding to the index from the MGMC mapper on the grid view) of the vertex. For vector valued data all components for a vertex are assumed to be consecutive.
- Parameters
-
v | The container with the values of the grid function for each vertex. |
name | A name to identify the grid function. |
ncomps | Number of components (default is 1). |
◆ cellBegin()
◆ cellEnd()
◆ checkForPolyhedralCells()
◆ clear()
clear list of registered functions
◆ cornerBegin()
◆ cornerEnd()
◆ countEntities()
template<class GridView >
◆ fillFacesForElement()
template<class GridView>
template<class Entity , class IndexSet , class T >
static void Dune::VTKWriter< GridView >::fillFacesForElement |
( |
const Entity & |
element, |
|
|
const IndexSet & |
indexSet, |
|
|
const std::vector< T > & |
vertices, |
|
|
T & |
offset, |
|
|
std::vector< T > & |
faces, |
|
|
std::vector< T > & |
faceOffsets |
|
) |
| |
|
inlinestaticprotectedinherited |
◆ fillFaceVertices()
template<class GridView>
template<class CornerIterator , class IndexSet , class T >
◆ getDataNames()
template<class GridView>
template<typename T >
◆ getFormatString()
◆ getParallelHeaderName()
template<class GridView>
std::string Dune::VTKWriter< GridView >::getParallelHeaderName |
( |
const std::string & |
name, |
|
|
const std::string & |
path, |
|
|
int |
commSize |
|
) |
| const |
|
inlineprotectedinherited |
return name of a parallel header file
- Parameters
-
name | Base name of the VTK output. This should be without any directory parts and without a filename extension. |
path | Directory part of the resulting header name. May be empty, in which case the resulting name will not have a directory part. If non-empty, may or may not have a trailing '/'. If a trailing slash is missing, one is appended implicitly. |
commSize | Number of processes writing a parallel vtk output. |
◆ getParallelPieceName()
template<class GridView>
std::string Dune::VTKWriter< GridView >::getParallelPieceName |
( |
const std::string & |
name, |
|
|
const std::string & |
path, |
|
|
int |
commRank, |
|
|
int |
commSize |
|
) |
| const |
|
inlineprotectedinherited |
return name of a parallel piece file
- Parameters
-
name | Base name of the VTK output. This should be without any directory parts and without a filename extension. |
path | Directory part of the resulting piece name. May be empty, in which case the resulting name will not have a directory part. If non-empty, may or may not have a trailing '/'. If a trailing slash is missing, one is appended implicitly. |
commRank | Rank of the process to generate a piece name for. |
commSize | Number of processes writing a parallel vtk output. |
◆ getSerialPieceName()
template<class GridView>
std::string Dune::VTKWriter< GridView >::getSerialPieceName |
( |
const std::string & |
name, |
|
|
const std::string & |
path |
|
) |
| const |
|
inlineprotectedinherited |
return name of a serial piece file
This is similar to getParallelPieceName, but skips the prefixes for commSize ("s####-") and commRank ("p####-").
- Parameters
-
name | Base name of the VTK output. This should be without any directory parts and without a filename extension. |
path | Directory part of the resulting piece name. May be empty, in which case the resulting name will not have a directory part. If non-empty, may or may not have a trailing '/'. If a trailing slash is missing, one is appended implicitly. |
◆ getTypeString()
◆ pwrite() [1/2]
write output (interface might change later)
"pwrite" means "path write" (i.e. write somewhere else than the current directory). The "p" does not mean this method has a monopoly on parallel writing, the regular write(const std::string &, VTK::OutputType) method can do that just fine.
- Parameters
-
name | Base name of the output files. This should not contain any directory part and not filename extensions. It will be used both for each processes piece as well as the parallel collection file. |
path | Directory where to put the parallel collection (.pvtu/.pvtp) file. If it is relative, it is taken relative to the current directory. |
extendpath | Directory where to put the piece file (.vtu/.vtp) of this process. If it is relative, it is taken relative to the directory denoted by path. |
type | How to encode the data in the file. |
- Note
- Currently, extendpath may not be absolute unless path is absolute, because that would require the value of the current directory.
- Exceptions
-
NotImplemented | Extendpath is absolute but path is relative. |
IOError | Failed to open a file. |
◆ pwrite() [2/2]
template<class GridView>
std::string Dune::VTKWriter< GridView >::pwrite |
( |
const std::string & |
name, |
|
|
const std::string & |
path, |
|
|
const std::string & |
extendpath, |
|
|
VTK::OutputType |
ot, |
|
|
const int |
commRank, |
|
|
const int |
commSize |
|
) |
| |
|
inlineprotectedinherited |
write output; interface might change later
- Parameters
-
name | Base name of the output files. This should not contain any directory part and not filename extensions. It will be used both for each processes piece as well as the parallel collection file. |
path | Directory where to put the parallel collection (.pvtu/.pvtp) file. If it is relative, it is taken realtive to the current directory. |
extendpath | Directory where to put the piece file (.vtu/.vtp) of this process. If it is relative, it is taken relative to the directory denoted by path. |
ot | How to encode the data in the file. |
commRank | Rank of the current process. |
commSize | Number of processes taking part in this write operation. |
- Note
- Currently, extendpath may not be absolute unless path is absolute, because that would require the value of the current directory.
- Exceptions
-
NotImplemented | Extendpath is absolute but path is relative. |
IOError | Failed to open a file. |
◆ vertexBegin()
◆ vertexEnd()
◆ write() [1/2]
write output (interface might change later)
This method can be used in parallel as well as in serial programs. For serial runs (commSize=1) it chooses other names without the "s####-p####-" prefix for the .vtu/.vtp files and omits writing of the .pvtu/pvtp file however. For parallel runs (commSize > 1) it is the same as a call to pwrite() with path="" and extendpath="".
- Parameters
-
[in] | name | basic name to write (may not contain a path) |
[in] | type | type of output (e.g,, ASCII) (optional) |
◆ write() [2/2]
write output (interface might change later)
This method can be used in parallel as well as in serial programs. For serial runs (commSize=1) it chooses other names without the "s####-p####-" prefix for the .vtu/.vtp files and omits writing of the .pvtu/pvtp file however. For parallel runs (commSize > 1) it is the same as a call to pwrite() with path="" and extendpath="".
- Parameters
-
name | Base name of the output files. This should not contain any directory part and no filename extensions. |
type | How to encode the data in the file. |
commRank | Rank of the current process. |
commSize | Number of processes taking part in this write operation. |
◆ writeCellData()
template<class GridView >
◆ writeCellFaces()
template<class GridView>
|
inlineprotectedvirtualinherited |
write the connectivity array
◆ writeData()
template<class GridView>
template<typename Data , typename Iterator >
◆ writeGridCells()
template<class GridView >
◆ writeGridPoints()
template<class GridView >
◆ writeVertexData()
template<class GridView >
◆ celldata
◆ gridView_
◆ ncells
◆ ncorners
◆ nvertices
◆ outputtype
◆ vertexdata
The documentation for this class was generated from the following file: