Flow123d
release_3.0.0-862-g55edb54
|
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, std::string unit_str) 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) |
bool | is_parallel () const |
int | rank () const |
int | n_proc () const |
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, std::string unit_str) |
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... | |
void | gather_output_data (void) |
Collect data of individual processes to serial data on master (0th) process. 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... | |
string | unit_string_ |
String representation of time unit. 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 42 of file output_vtk.hh.
typedef OutputTime OutputVTK::FactoryBaseType |
Definition at line 45 of file output_vtk.hh.
|
protected |
Enumerator | |
---|---|
VTK_LINE_SIZE | |
VTK_TRIANGLE_SIZE | |
VTK_TETRA_SIZE |
Definition at line 125 of file output_vtk.hh.
|
protected |
Definition at line 102 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 95 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 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.
|
protected |
Compress data stored in uncompressed_stream
to compressed_stream
.
Use ZLib compression.
Definition at line 328 of file output_vtk.cc.
|
protected |
Fills the data cache with VTK element types indicators.
Definition at line 240 of file output_vtk.cc.
|
protected |
Used internally by write_data.
Definition at line 111 of file output_vtk.cc.
|
static |
The definition of input record for vtk file format.
Definition at line 39 of file output_vtk.cc.
|
static |
The definition of input record for selection of variant of file format.
Definition at line 52 of file output_vtk.cc.
|
overridevirtual |
Override OutputTime::init_from_input
.
Reimplemented from OutputTime.
Definition at line 88 of file output_vtk.cc.
|
protected |
Set appropriate file path substrings. Make subdirectory for VTU time frames.
Definition at line 204 of file output_vtk.cc.
|
virtual |
This function write data to VTK (.pvd) file format for curent time.
TODO:
Implements OutputTime.
Definition at line 135 of file output_vtk.cc.
int OutputVTK::write_head | ( | void | ) |
This function writes header of VTK (.pvd) file format.
Definition at line 578 of file output_vtk.cc.
int OutputVTK::write_tail | ( | void | ) |
This function writes tail of VTK (.pvd) file format.
Definition at line 597 of file output_vtk.cc.
|
protected |
Write output data stored in OutputData vector to output stream
Definition at line 283 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 403 of file output_vtk.cc.
|
protected |
Write data on elements to the VTK file (.vtu)
Definition at line 452 of file output_vtk.cc.
|
protected |
Write registered data of all components of given Field to output stream
Definition at line 394 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 472 of file output_vtk.cc.
|
protected |
Write data on nodes to the VTK file (.vtu)
Definition at line 425 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 536 of file output_vtk.cc.
|
protected |
Write header of VTK file (.vtu)
Definition at line 220 of file output_vtk.cc.
|
protected |
Write tail of VTK file (.vtu)
Definition at line 520 of file output_vtk.cc.
|
protected |
Data output stream (could be same as base_file)
Definition at line 214 of file output_vtk.hh.
|
protected |
Stream of appended data (used only for binary appended output)
Definition at line 219 of file output_vtk.hh.
|
staticprotected |
Formats of DataArray section.
Definition at line 135 of file output_vtk.hh.
|
protected |
Basename of main output file (without extension)
Definition at line 227 of file output_vtk.hh.
|
protected |
Main output file directory.
Definition at line 230 of file output_vtk.hh.
|
staticprotected |
Registrar of class to factory.
Definition at line 132 of file output_vtk.hh.
|
protected |
Path to time frame VTU data subdirectory
Definition at line 224 of file output_vtk.hh.
|
protected |
Output format (ascii, binary or binary compressed)
Definition at line 233 of file output_vtk.hh.