Flow123d  release_2.1.0-84-g6a13a75
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 ()
 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...
 
void init_from_input (const std::string &equation_name, Mesh &mesh, const Input::Record &in_rec) override
 Override OutputTime::init_from_input. More...
 
- Public Member Functions inherited from OutputTime
 OutputTime ()
 Default constructor. Only for testing. More...
 
virtual ~OutputTime ()
 Destructor of OutputTime. It doesn't do anything, because all necessary destructors will be called in destructor of Output. More...
 
Input::Iterator< Input::Arrayget_time_set_array ()
 
void make_output_mesh (FieldSet &output_fields)
 
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 ()
 
std::shared_ptr< Observeobserve ()
 
void clear_data (void)
 Clear data for output computed by method compute_field_data. More...
 
 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 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 std::string &equation_name, Mesh &mesh, const Input::Record &in_rec)
 This method delete all object instances of class OutputTime stored in output_streams vector. More...
 

Protected Types

enum  VTKVariant { VARIANT_ASCII = 0, VARIANT_BINARY_UNCOMPRESSED = 1, VARIANT_BINARY_ZLIB = 2 }
 The declaration enumeration used for variant of file VTK 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 }
 
- 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 fill_element_types_vector (std::vector< unsigned int > &data)
 Fills the given vector with VTK element types indicators. More...
 
void write_vtk_field_data (OutputDataFieldVec &output_data_map)
 
void write_vtk_data (OutputDataPtr output_data)
 
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 ()
 
void compress_data (stringstream &uncompressed_stream, stringstream &compressed_stream)
 
- Protected Member Functions inherited from OutputTime
void compute_discontinuous_output_mesh ()
 
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
 
ostringstream appended_data_
 
string subdir_name_
 
string main_output_basename_
 Basename of main output file (without extension) More...
 
string main_output_dir_
 Main output file directory. More...
 
VTKVariant variant_type_
 Output format (ascii, binary or binary compressed) More...
 
- Protected Attributes inherited from OutputTime
int rank
 
OutputDataFieldVec output_data_vec_ [N_DISCRETE_SPACES]
 
int current_step
 
double time
 
double write_time
 
Input::Record input_record_
 
ofstream _base_file
 
FilePath _base_filename
 
std::string equation_name_
 
Mesh_mesh
 
std::shared_ptr< OutputMeshoutput_mesh_
 Output mesh. More...
 
std::shared_ptr< OutputMeshDiscontinuousoutput_mesh_discont_
 Discontinuous (non-conforming) mesh. Used for CORNER_DATA. More...
 
std::shared_ptr< Observeobserve_
 
bool enable_refinement_
 Auxliary flag for refinement enabling, due to gmsh format. More...
 

Static Protected Attributes

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

Additional Inherited Members

- 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 34 of file output_vtk.hh.

Member Typedef Documentation

Definition at line 37 of file output_vtk.hh.

Member Enumeration Documentation

enum OutputVTK::VTKElemSize
protected
Enumerator
VTK_LINE_SIZE 
VTK_TRIANGLE_SIZE 
VTK_TETRA_SIZE 

Definition at line 115 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 92 of file output_vtk.hh.

enum OutputVTK::VTKVariant
protected

The declaration enumeration used for variant of file VTK format.

Enumerator
VARIANT_ASCII 
VARIANT_BINARY_UNCOMPRESSED 
VARIANT_BINARY_ZLIB 

Definition at line 85 of file output_vtk.hh.

Constructor & Destructor Documentation

OutputVTK::OutputVTK ( )

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

Definition at line 68 of file output_vtk.cc.

OutputVTK::~OutputVTK ( )

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

Definition at line 75 of file output_vtk.cc.

Member Function Documentation

void OutputVTK::compress_data ( stringstream &  uncompressed_stream,
stringstream &  compressed_stream 
)
protected

Compress data stored in uncompressed_stream to compressed_stream.

Use ZLib compression.

Definition at line 282 of file output_vtk.cc.

Here is the caller graph for this function:

void OutputVTK::fill_element_types_vector ( std::vector< unsigned int > &  data)
protected

Fills the given vector with VTK element types indicators.

Definition at line 195 of file output_vtk.cc.

Here is the caller graph for this function:

const Record & OutputVTK::get_input_type ( )
static

The definition of input record for vtk file format.

Definition at line 36 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 49 of file output_vtk.cc.

Here is the caller graph for this function:

void OutputVTK::init_from_input ( const std::string &  equation_name,
Mesh mesh,
const Input::Record in_rec 
)
overridevirtual

Override OutputTime::init_from_input.

Reimplemented from OutputTime.

Definition at line 82 of file output_vtk.cc.

void OutputVTK::make_subdirectory ( )
protected

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

Definition at line 161 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 105 of file output_vtk.cc.

int OutputVTK::write_head ( void  )

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

Definition at line 515 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 535 of file output_vtk.cc.

Here is the caller graph for this function:

void OutputVTK::write_vtk_data ( OutputTime::OutputDataPtr  output_data)
protected

Write output data stored in OutputData vector to output stream

Definition at line 235 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 357 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 406 of file output_vtk.cc.

Here is the caller graph for this function:

void OutputVTK::write_vtk_field_data ( OutputDataFieldVec output_data_map)
protected

Write registered data of all components of given Field to output stream

Definition at line 348 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 379 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 442 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 426 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 189 of file output_vtk.hh.

ostringstream OutputVTK::appended_data_
protected

Stream of appended data (used only for binary appended output)

Definition at line 194 of file output_vtk.hh.

string OutputVTK::main_output_basename_
protected

Basename of main output file (without extension)

Definition at line 202 of file output_vtk.hh.

string OutputVTK::main_output_dir_
protected

Main output file directory.

Definition at line 205 of file output_vtk.hh.

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

Registrar of class to factory.

Definition at line 122 of file output_vtk.hh.

string OutputVTK::subdir_name_
protected

Path to time frame VTU data subdirectory

Definition at line 199 of file output_vtk.hh.

VTKVariant OutputVTK::variant_type_
protected

Output format (ascii, binary or binary compressed)

Definition at line 208 of file output_vtk.hh.


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