Flow123d  release_1.8.2-1603-g0109a2b
Public Types | Public Member Functions | Static Public Member Functions | Protected Types | Protected Member Functions | Protected Attributes | Static Protected Attributes | List of all members
OutputVTK Class Reference

This class is used for output data to VTK file format. More...

#include <output_vtk.hh>

Inheritance diagram for OutputVTK:
Inheritance graph
[legend]
Collaboration diagram for OutputVTK:
Collaboration graph
[legend]

Public Types

typedef OutputTime FactoryBaseType
 
- Public Types inherited from OutputTime
enum  DiscreteSpace { NODE_DATA = 0, CORNER_DATA = 1, ELEM_DATA = 2 }
 

Public Member Functions

 OutputVTK (const Input::Record &in_rec)
 The constructor of this class. The head of file is written, when constructor is called. More...
 
 OutputVTK ()
 The constructor of this class. The head of file is written, when constructor is called. More...
 
 ~OutputVTK ()
 The destructor of this class. It writes tail of the file too. More...
 
int write_data (void)
 This function write data to VTK (.pvd) file format for curent time. More...
 
int write_head (void)
 This function writes header of VTK (.pvd) file format. More...
 
int write_tail (void)
 This function writes tail of VTK (.pvd) file format. More...
 
- Public Member Functions inherited from OutputTime
 OutputTime ()
 Default constructor. Only for testing. More...
 
 OutputTime (const Input::Record &in_rec)
 Constructor of OutputTime object. It opens base file for writing. More...
 
virtual ~OutputTime ()
 Destructor of OutputTime. It doesn't do anything, because all necessary destructors will be called in destructor of Output. More...
 
template<int spacedim, class Value >
void register_data (const DiscreteSpace type, MultiField< spacedim, Value > &multi_field)
 Generic method for registering output data stored in MultiField. More...
 
template<int spacedim, class Value >
void register_data (const DiscreteSpace ref_type, Field< spacedim, Value > &field)
 Generic method for registering of output data stored in Field. More...
 
void write_time_frame ()
 
void add_admissible_field_names (const Input::Array &in_array)
 Registers names of output fields that can be written using this stream. More...
 
void clear_data (void)
 Clear data for output computed by method compute_field_data. More...
 
void mark_output_times (const TimeGovernor &tg)
 
 TYPEDEF_ERR_INFO (EI_FieldName, std::string)
 
 DECLARE_EXCEPTION (ExcOutputVariableVector,<< "Can not output field "<< EI_FieldName::qval<< " returning variable size vectors. Try convert to MultiField.\n")
 

Static Public Member Functions

static const Input::Type::Recordget_input_type ()
 The definition of input record for vtk file format. More...
 
static const Input::Type::Selectionget_input_type_variant ()
 The definition of input record for selection of variant of file format. More...
 
static const Input::Type::Selectionget_input_type_compression ()
 The definition of input record for selection of compression type. More...
 
- Static Public Member Functions inherited from OutputTime
static const Input::Type::Recordget_input_type ()
 The specification of output stream. More...
 
static Input::Type::Abstractget_input_format_type ()
 The specification of output file format. More...
 
static std::shared_ptr< OutputTimecreate_output_stream (const Input::Record &in_rec)
 This method delete all object instances of class OutputTime stored in output_streams vector. More...
 

Protected Types

enum  Variant { VARIANT_ASCII = 1, VARIANT_BINARY = 2 }
 The declaration enumeration used for variant of file VTK format. More...
 
enum  Compression { COMPRESSION_NONE = 1, COMPRESSION_GZIP = 2 }
 The declaration of enumeration used for type of compression used in file format. More...
 
enum  VTKElemType {
  VTK_VERTEX = 1, VTK_POLY_VERTEX = 2, VTK_LINE = 3, VTK_POLY_LINE = 4,
  VTK_TRIANGLE = 5, VTK_TRIANGLE_STRIP = 6, VTK_POLYGON = 7, VTK_PIXEL = 8,
  VTK_QUAD = 9, VTK_TETRA = 10, VTK_VOXEL = 11, VTK_HEXAHEDRON = 12,
  VTK_WEDGE = 13, VTK_PYRAMID = 14, VTK_QUADRIC_EDGE = 21, VTK_QUADRIC_TRIANGLE = 22,
  VTK_QUADRIC_QUAD = 23, VTK_QUADRIC_TETRA = 24, VTK_QUADRIC_HEXAHEDRON = 25
}
 
enum  VTKElemSize { VTK_LINE_SIZE = 2, VTK_TRIANGLE_SIZE = 3, VTK_TETRA_SIZE = 4 }
 
typedef enum OutputVTK::Variant Variant
 The declaration enumeration used for variant of file VTK format. More...
 
typedef enum OutputVTK::Compression Compression
 The declaration of enumeration used for type of compression used in file format. More...
 
- Protected Types inherited from OutputTime
typedef std::shared_ptr< OutputDataBaseOutputDataPtr
 
typedef std::vector< OutputDataPtrOutputDataFieldVec
 
typedef unsigned int DiscreteSpaceFlags
 

Protected Member Functions

void write_vtk_vtu_head (void)
 Write header of VTK file (.vtu) More...
 
void write_vtk_geometry (void)
 Write geometry (position of nodes) to the VTK file (.vtu) More...
 
void write_vtk_topology (void)
 Write topology (connection of nodes) to the VTK file (.vtu) More...
 
void write_vtk_discont_geometry (void)
 Write geometry (position of nodes) to the VTK file (.vtu) More...
 
void write_vtk_discont_topology (void)
 Write topology (connection of nodes) to the VTK file (.vtu) More...
 
void write_vtk_data_ascii (OutputDataFieldVec &output_data_map)
 
void write_vtk_data_names (ofstream &file, OutputDataFieldVec &output_data_map)
 Write names of data sets in output_data vector that have value type equal to type. Output is done into stream file. More...
 
void write_vtk_node_data (void)
 Write data on nodes to the VTK file (.vtu) More...
 
void write_vtk_element_data (void)
 Write data on elements to the VTK file (.vtu) More...
 
void write_vtk_vtu_tail (void)
 Write tail of VTK file (.vtu) More...
 
void write_vtk_vtu (void)
 This function write all scalar and vector data on nodes and elements to the VTK file (.vtu) More...
 
void make_subdirectory ()
 
- Protected Member Functions inherited from OutputTime
template<int spacedim, class Value >
void compute_field_data (DiscreteSpace type, Field< spacedim, Value > &field)
 
void fix_main_file_extension (std::string extension)
 

Protected Attributes

ofstream _data_file
 
string subdir_name_
 
string main_output_basename_
 
string main_output_dir_
 
- Protected Attributes inherited from OutputTime
int rank
 
OutputDataFieldVec output_data_vec_ [N_DISCRETE_SPACES]
 
int current_step
 
double time
 
double write_time
 
std::map< std::string, DiscreteSpaceFlagsoutput_names
 
Input::Record input_record_
 
ofstream _base_file
 
string _base_filename
 
Mesh_mesh
 

Static Protected Attributes

static const int registrar
 Registrar of class to factory. More...
 

Additional Inherited Members

- Public Attributes inherited from OutputTime
Input::AbstractRecord format_record_
 
- Static Public Attributes inherited from OutputTime
static const unsigned int N_DISCRETE_SPACES = 3
 

Detailed Description

This class is used for output data to VTK file format.

Definition at line 33 of file output_vtk.hh.

Member Typedef Documentation

The declaration of enumeration used for type of compression used in file format.

Definition at line 36 of file output_vtk.hh.

typedef enum OutputVTK::Variant OutputVTK::Variant
protected

The declaration enumeration used for variant of file VTK format.

Member Enumeration Documentation

enum OutputVTK::Compression
protected

The declaration of enumeration used for type of compression used in file format.

Enumerator
COMPRESSION_NONE 
COMPRESSION_GZIP 

Definition at line 100 of file output_vtk.hh.

enum OutputVTK::Variant
protected

The declaration enumeration used for variant of file VTK format.

Enumerator
VARIANT_ASCII 
VARIANT_BINARY 

Definition at line 91 of file output_vtk.hh.

enum OutputVTK::VTKElemSize
protected
Enumerator
VTK_LINE_SIZE 
VTK_TRIANGLE_SIZE 
VTK_TETRA_SIZE 

Definition at line 129 of file output_vtk.hh.

enum OutputVTK::VTKElemType
protected
Enumerator
VTK_VERTEX 
VTK_POLY_VERTEX 
VTK_LINE 
VTK_POLY_LINE 
VTK_TRIANGLE 
VTK_TRIANGLE_STRIP 
VTK_POLYGON 
VTK_PIXEL 
VTK_QUAD 
VTK_TETRA 
VTK_VOXEL 
VTK_HEXAHEDRON 
VTK_WEDGE 
VTK_PYRAMID 
VTK_QUADRIC_EDGE 
VTK_QUADRIC_TRIANGLE 
VTK_QUADRIC_QUAD 
VTK_QUADRIC_TETRA 
VTK_QUADRIC_HEXAHEDRON 

Definition at line 106 of file output_vtk.hh.

Constructor & Destructor Documentation

OutputVTK::OutputVTK ( const Input::Record in_rec)

The constructor of this class. The head of file is written, when constructor is called.

Definition at line 71 of file output_vtk.cc.

OutputVTK::OutputVTK ( )

The constructor of this class. The head of file is written, when constructor is called.

Definition at line 87 of file output_vtk.cc.

OutputVTK::~OutputVTK ( )

The destructor of this class. It writes tail of the file too.

Definition at line 92 of file output_vtk.cc.

Member Function Documentation

const Record & OutputVTK::get_input_type ( )
static

The definition of input record for vtk file format.

Definition at line 31 of file output_vtk.cc.

Here is the caller graph for this function:

const Selection & OutputVTK::get_input_type_compression ( )
static

The definition of input record for selection of compression type.

Definition at line 57 of file output_vtk.cc.

Here is the caller graph for this function:

const Selection & OutputVTK::get_input_type_variant ( )
static

The definition of input record for selection of variant of file format.

Definition at line 47 of file output_vtk.cc.

Here is the caller graph for this function:

void OutputVTK::make_subdirectory ( )
protected

Set appropriate file path substrings. Make subdirectory for VTU time frames.

Definition at line 159 of file output_vtk.cc.

Here is the caller graph for this function:

int OutputVTK::write_data ( void  )
virtual

This function write data to VTK (.pvd) file format for curent time.

Implements OutputTime.

Definition at line 100 of file output_vtk.cc.

int OutputVTK::write_head ( void  )

This function writes header of VTK (.pvd) file format.

Definition at line 545 of file output_vtk.cc.

Here is the caller graph for this function:

int OutputVTK::write_tail ( void  )

This function writes tail of VTK (.pvd) file format.

Definition at line 566 of file output_vtk.cc.

Here is the caller graph for this function:

void OutputVTK::write_vtk_data_ascii ( OutputDataFieldVec output_data_map)
protected

Write registered data to output stream using ascii format

Definition at line 384 of file output_vtk.cc.

Here is the caller graph for this function:

void OutputVTK::write_vtk_data_names ( ofstream &  file,
OutputDataFieldVec output_data_map 
)
protected

Write names of data sets in output_data vector that have value type equal to type. Output is done into stream file.

Definition at line 412 of file output_vtk.cc.

Here is the caller graph for this function:

void OutputVTK::write_vtk_discont_geometry ( void  )
protected

Write geometry (position of nodes) to the VTK file (.vtu)

This method is used, when discontinuous data are saved to the .vtu file

Definition at line 284 of file output_vtk.cc.

Here is the caller graph for this function:

void OutputVTK::write_vtk_discont_topology ( void  )
protected

Write topology (connection of nodes) to the VTK file (.vtu)

This method is used, when discontinuous data are saved to the .vtu file

Definition at line 313 of file output_vtk.cc.

Here is the caller graph for this function:

void OutputVTK::write_vtk_element_data ( void  )
protected

Write data on elements to the VTK file (.vtu)

Definition at line 461 of file output_vtk.cc.

Here is the caller graph for this function:

void OutputVTK::write_vtk_geometry ( void  )
protected

Write geometry (position of nodes) to the VTK file (.vtu)

Definition at line 186 of file output_vtk.cc.

Here is the caller graph for this function:

void OutputVTK::write_vtk_node_data ( void  )
protected

Write data on nodes to the VTK file (.vtu)

Definition at line 434 of file output_vtk.cc.

Here is the caller graph for this function:

void OutputVTK::write_vtk_topology ( void  )
protected

Write topology (connection of nodes) to the VTK file (.vtu)

Definition at line 216 of file output_vtk.cc.

Here is the caller graph for this function:

void OutputVTK::write_vtk_vtu ( void  )
protected

This function write all scalar and vector data on nodes and elements to the VTK file (.vtu)

Definition at line 490 of file output_vtk.cc.

Here is the caller graph for this function:

void OutputVTK::write_vtk_vtu_head ( void  )
protected

Write header of VTK file (.vtu)

Definition at line 175 of file output_vtk.cc.

Here is the caller graph for this function:

void OutputVTK::write_vtk_vtu_tail ( void  )
protected

Write tail of VTK file (.vtu)

Definition at line 481 of file output_vtk.cc.

Here is the caller graph for this function:

Member Data Documentation

ofstream OutputVTK::_data_file
protected

Data output stream (could be same as base_file)

Definition at line 210 of file output_vtk.hh.

string OutputVTK::main_output_basename_
protected

Definition at line 217 of file output_vtk.hh.

string OutputVTK::main_output_dir_
protected

Definition at line 219 of file output_vtk.hh.

const int OutputVTK::registrar
staticprotected
Initial value:
= Input::register_class< OutputVTK, const Input::Record & >("vtk") +

Registrar of class to factory.

Definition at line 136 of file output_vtk.hh.

string OutputVTK::subdir_name_
protected

Path to time frame VTU data subdirectory

Definition at line 215 of file output_vtk.hh.


The documentation for this class was generated from the following files: