Flow123d
release_2.2.0-914-gf1a3a4f
|
This class is used for output data to VTK file format. More...
#include <output_vtk.hh>
Public Types | |
typedef OutputTime | FactoryBaseType |
Public Types inherited from OutputTime | |
enum | DiscreteSpace { NODE_DATA = 0, CORNER_DATA = 1, ELEM_DATA = 2, NATIVE_DATA = 3, MESH_DEFINITION = 9, UNDEFINED = 10 } |
typedef unsigned int | DiscreteSpaceFlags |
typedef std::shared_ptr< ElementDataCacheBase > | OutputDataPtr |
typedef std::vector< OutputDataPtr > | OutputDataFieldVec |
typedef std::pair< std::string, unsigned int > | FieldInterpolationData |
pair of field name and shape (= Scalar 1, Vector 3, Tensor 9) More... | |
typedef std::map< DiscreteSpace, std::vector< FieldInterpolationData > > | InterpolationMap |
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, 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::Array > | get_time_set_array () |
Input::Iterator< Input::Record > | get_output_mesh_record () |
void | write_time_frame () |
std::shared_ptr< Observe > | observe (Mesh *mesh) |
void | clear_data (void) |
Clear data for output computed by method compute_field_data . More... | |
bool | is_output_data_caches_init () |
bool | enable_refinement () |
Return auxiliary flag enable_refinement_. More... | |
virtual void | set_output_data_caches (std::shared_ptr< OutputMeshBase > mesh_ptr) |
std::shared_ptr< OutputMeshBase > | get_output_mesh_ptr () |
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) |
void | get_output_params (bool ¶llel, int &rank) |
virtual void | add_dummy_fields () |
Complete information about dummy fields, method has effect only for GMSH output. More... | |
Static Public Member Functions | |
static const Input::Type::Record & | get_input_type () |
The definition of input record for vtk file format. More... | |
static const Input::Type::Selection & | get_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::Record & | get_input_type () |
The specification of output stream. More... | |
static Input::Type::Abstract & | get_input_format_type () |
The specification of output file format. More... | |
static std::shared_ptr< OutputTime > | create_output_stream (const std::string &equation_name, 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 | |
string | form_vtu_filename_ (string basename, int i_step, int rank) |
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_native_data (void) |
Write native data (part of our own data skipped by Paraview) 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 | fix_main_file_extension (std::string extension) |
int | get_parallel_current_step () |
Return unique value current step for parallel or serial output. More... | |
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 |
int | n_proc |
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_ |
std::shared_ptr< OutputMeshBase > | output_mesh_ |
Output mesh. More... | |
std::shared_ptr< Observe > | observe_ |
bool | enable_refinement_ |
Auxiliary flag for refinement enabling, due to gmsh format. More... | |
bool | parallel_ |
Parallel or serial version of file format (parallel has effect only for VTK) More... | |
std::shared_ptr< ElementDataCache< double > > | nodes_ |
Vector of node coordinates. [spacedim x n_nodes]. More... | |
std::shared_ptr< ElementDataCache< unsigned int > > | connectivity_ |
Vector maps the nodes to their coordinates in vector nodes_ . More... | |
std::shared_ptr< ElementDataCache< unsigned int > > | offsets_ |
Vector of offsets of node indices of elements. Maps elements to their nodes in connectivity_. More... | |
Static Protected Attributes | |
static const int | registrar |
Registrar of class to factory. More... | |
static const std::vector< std::string > | formats = { "ascii", "appended", "appended" } |
Formats of DataArray section. More... | |
Additional Inherited Members | |
Static Public Attributes inherited from OutputTime | |
static const unsigned int | N_DISCRETE_SPACES = 4 |
This class is used for output data to VTK file format.
Definition at line 36 of file output_vtk.hh.
typedef OutputTime OutputVTK::FactoryBaseType |
Definition at line 39 of file output_vtk.hh.
|
protected |
Enumerator | |
---|---|
VTK_LINE_SIZE | |
VTK_TRIANGLE_SIZE | |
VTK_TETRA_SIZE |
Definition at line 119 of file output_vtk.hh.
|
protected |
Definition at line 96 of file output_vtk.hh.
|
protected |
The declaration enumeration used for variant of file VTK format.
Enumerator | |
---|---|
VARIANT_ASCII | |
VARIANT_BINARY_UNCOMPRESSED | |
VARIANT_BINARY_ZLIB |
Definition at line 89 of file output_vtk.hh.
OutputVTK::OutputVTK | ( | ) |
The constructor of this class. The head of file is written, when constructor is called.
Definition at line 70 of file output_vtk.cc.
OutputVTK::~OutputVTK | ( | ) |
The destructor of this class. It writes tail of the file too.
Definition at line 77 of file output_vtk.cc.
|
protected |
Compress data stored in uncompressed_stream
to compressed_stream
.
Use ZLib compression.
Definition at line 323 of file output_vtk.cc.
|
protected |
Fills the data cache with VTK element types indicators.
Definition at line 235 of file output_vtk.cc.
|
protected |
Used internally by write_data.
Definition at line 107 of file output_vtk.cc.
|
static |
The definition of input record for vtk file format.
Definition at line 35 of file output_vtk.cc.
|
static |
The definition of input record for selection of variant of file format.
Definition at line 48 of file output_vtk.cc.
|
overridevirtual |
Override OutputTime::init_from_input
.
Reimplemented from OutputTime.
Definition at line 84 of file output_vtk.cc.
|
protected |
Set appropriate file path substrings. Make subdirectory for VTU time frames.
Definition at line 199 of file output_vtk.cc.
|
virtual |
This function write data to VTK (.pvd) file format for curent time.
TODO:
Implements OutputTime.
Definition at line 131 of file output_vtk.cc.
int OutputVTK::write_head | ( | void | ) |
This function writes header of VTK (.pvd) file format.
Definition at line 573 of file output_vtk.cc.
int OutputVTK::write_tail | ( | void | ) |
This function writes tail of VTK (.pvd) file format.
Definition at line 592 of file output_vtk.cc.
|
protected |
Write output data stored in OutputData vector to output stream
Definition at line 278 of file output_vtk.cc.
|
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 398 of file output_vtk.cc.
|
protected |
Write data on elements to the VTK file (.vtu)
Definition at line 447 of file output_vtk.cc.
|
protected |
Write registered data of all components of given Field to output stream
Definition at line 389 of file output_vtk.cc.
|
protected |
Write native data (part of our own data skipped by Paraview) to the VTK file (.vtu)
Tags of native data are subtags of 'Flow123dData' tag, that is subtag of 'Piece' tag
Definition at line 467 of file output_vtk.cc.
|
protected |
Write data on nodes to the VTK file (.vtu)
Definition at line 420 of file output_vtk.cc.
|
protected |
This function write all scalar and vector data on nodes and elements to the VTK file (.vtu)
Definition at line 531 of file output_vtk.cc.
|
protected |
Write header of VTK file (.vtu)
Definition at line 215 of file output_vtk.cc.
|
protected |
Write tail of VTK file (.vtu)
Definition at line 515 of file output_vtk.cc.
|
protected |
Data output stream (could be same as base_file)
Definition at line 208 of file output_vtk.hh.
|
protected |
Stream of appended data (used only for binary appended output)
Definition at line 213 of file output_vtk.hh.
|
staticprotected |
Formats of DataArray section.
Definition at line 129 of file output_vtk.hh.
|
protected |
Basename of main output file (without extension)
Definition at line 221 of file output_vtk.hh.
|
protected |
Main output file directory.
Definition at line 224 of file output_vtk.hh.
|
staticprotected |
Registrar of class to factory.
Definition at line 126 of file output_vtk.hh.
|
protected |
Path to time frame VTU data subdirectory
Definition at line 218 of file output_vtk.hh.
|
protected |
Output format (ascii, binary or binary compressed)
Definition at line 227 of file output_vtk.hh.