Flow123d  last_with_con_2.0.0-4-g42e6930
Public Types | Public Member Functions | Static Public Member Functions | Protected Types | Protected Member Functions | Static 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...
 
- Public Member Functions inherited from OutputTime
 OutputTime ()
 Default constructor. Only for testing. More...
 
void init_from_input (const std::string &equation_name, Mesh &mesh, 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...
 
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 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 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  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 }
 
enum  VTKValueType {
  VTK_INT8, VTK_UINT8, VTK_INT16, VTK_UINT16,
  VTK_INT32, VTK_UINT32, VTK_FLOAT32, VTK_FLOAT64
}
 
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 fill_element_types_vector (std::vector< unsigned int > &data)
 Fills the given vector with VTK element types indicators. More...
 
void write_vtk_data_ascii (OutputDataFieldVec &output_data_map)
 
void write_vtk_data_ascii (OutputDataPtr output_data, VTKValueType type)
 
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
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)
 

Static Protected Member Functions

static const std::string vtk_value_type_map (VTKValueType t)
 

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

enum OutputVTK::VTKElemSize
protected
Enumerator
VTK_LINE_SIZE 
VTK_TRIANGLE_SIZE 
VTK_TETRA_SIZE 

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

enum OutputVTK::VTKValueType
protected
Enumerator
VTK_INT8 
VTK_UINT8 
VTK_INT16 
VTK_UINT16 
VTK_INT32 
VTK_UINT32 
VTK_FLOAT32 
VTK_FLOAT64 

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

OutputVTK::~OutputVTK ( )

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

Definition at line 81 of file output_vtk.cc.

Member Function Documentation

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

Fills the given vector with VTK element types indicators.

Definition at line 177 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 33 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 59 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::make_subdirectory ( )
protected

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

Definition at line 150 of file output_vtk.cc.

Here is the caller graph for this function:

static const std::string OutputVTK::vtk_value_type_map ( VTKValueType  t)
inlinestaticprotected

Definition at line 134 of file output_vtk.hh.

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 89 of file output_vtk.cc.

int OutputVTK::write_head ( void  )

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

Definition at line 404 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 424 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 244 of file output_vtk.cc.

Here is the caller graph for this function:

void OutputVTK::write_vtk_data_ascii ( OutputTime::OutputDataPtr  output_data,
VTKValueType  type 
)
protected

Write registered data to output stream using ascii format

Definition at line 217 of file output_vtk.cc.

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 253 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 302 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 275 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 331 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 164 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 322 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 202 of file output_vtk.hh.

string OutputVTK::main_output_basename_
protected

Definition at line 209 of file output_vtk.hh.

string OutputVTK::main_output_dir_
protected

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

string OutputVTK::subdir_name_
protected

Path to time frame VTU data subdirectory

Definition at line 207 of file output_vtk.hh.


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