Flow123d  release_2.2.0-36-g163dc99
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 }
 
typedef unsigned int DiscreteSpaceFlags
 
typedef std::shared_ptr< ElementDataCacheBaseOutputDataPtr
 
typedef std::vector< OutputDataPtrOutputDataFieldVec
 

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...
 
void set_stream_precision (std::ofstream &stream)
 
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 ()
 
Input::Iterator< Input::Recordget_output_mesh_record ()
 
void write_time_frame ()
 
std::shared_ptr< Observeobserve ()
 
void clear_data (void)
 Clear data for output computed by method compute_field_data. More...
 
bool is_output_mesh_init ()
 
bool enable_refinement ()
 Return auxiliary flag enable_refinement_. More...
 
std::shared_ptr< OutputMeshBasecreate_output_mesh_ptr (bool init_input, bool discont=false)
 
std::shared_ptr< OutputMeshBaseget_output_mesh_ptr (bool discont=false)
 
int get_rank ()
 
void update_time (double field_time)
 
template<typename T >
ElementDataCache< T > & prepare_compute_data (std::string field_name, DiscreteSpace space_type, unsigned int n_rows, unsigned int n_cols)
 

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 Member Functions

void write_vtk_vtu_head (void)
 Write header of VTK file (.vtu) More...
 
std::shared_ptr< ElementDataCache< unsigned int > > fill_element_types_data ()
 Fills the data cache 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 ()
 
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_
 
int precision_
 
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_
 Auxiliary 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 117 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 94 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 87 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 67 of file output_vtk.cc.

OutputVTK::~OutputVTK ( )

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

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

Here is the caller graph for this function:

std::shared_ptr< ElementDataCache< unsigned int > > OutputVTK::fill_element_types_data ( )
protected

Fills the data cache with VTK element types indicators.

Definition at line 197 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 35 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 48 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 81 of file output_vtk.cc.

void OutputVTK::make_subdirectory ( )
protected

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

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

int OutputVTK::write_head ( void  )

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

Definition at line 518 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 538 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 240 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 362 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 411 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 353 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 384 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 447 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 177 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 431 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 191 of file output_vtk.hh.

ostringstream OutputVTK::appended_data_
protected

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

Definition at line 196 of file output_vtk.hh.

string OutputVTK::main_output_basename_
protected

Basename of main output file (without extension)

Definition at line 204 of file output_vtk.hh.

string OutputVTK::main_output_dir_
protected

Main output file directory.

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

string OutputVTK::subdir_name_
protected

Path to time frame VTU data subdirectory

Definition at line 201 of file output_vtk.hh.

VTKVariant OutputVTK::variant_type_
protected

Output format (ascii, binary or binary compressed)

Definition at line 210 of file output_vtk.hh.


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