Flow123d
release_3.0.0-890-gfc7e296
|
This class is used for output data to VTK file format. More...
#include <output_vtk.hh>
Public Types | |
typedef OutputTime | FactoryBaseType |
typedef uLong | zlib_ulong |
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 43 of file output_vtk.hh.
typedef OutputTime OutputVTK::FactoryBaseType |
Definition at line 46 of file output_vtk.hh.
typedef uLong OutputVTK::zlib_ulong |
Definition at line 47 of file output_vtk.hh.
|
protected |
Enumerator | |
---|---|
VTK_LINE_SIZE | |
VTK_TRIANGLE_SIZE | |
VTK_TETRA_SIZE |
Definition at line 127 of file output_vtk.hh.
|
protected |
Definition at line 104 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 97 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 73 of file output_vtk.cc.
OutputVTK::~OutputVTK | ( | ) |
The destructor of this class. It writes tail of the file too.
Definition at line 80 of file output_vtk.cc.
|
protected |
Compress data stored in uncompressed_stream
to compressed_stream
.
Use ZLib compression.
Definition at line 327 of file output_vtk.cc.
|
protected |
Fills the data cache with VTK element types indicators.
Definition at line 239 of file output_vtk.cc.
|
protected |
Used internally by write_data.
Definition at line 110 of file output_vtk.cc.
|
static |
The definition of input record for vtk file format.
Definition at line 38 of file output_vtk.cc.
|
static |
The definition of input record for selection of variant of file format.
Definition at line 51 of file output_vtk.cc.
|
overridevirtual |
Override OutputTime::init_from_input
.
Reimplemented from OutputTime.
Definition at line 87 of file output_vtk.cc.
|
protected |
Set appropriate file path substrings. Make subdirectory for VTU time frames.
Definition at line 203 of file output_vtk.cc.
|
virtual |
This function write data to VTK (.pvd) file format for curent time.
TODO:
Implements OutputTime.
Definition at line 134 of file output_vtk.cc.
int OutputVTK::write_head | ( | void | ) |
This function writes header of VTK (.pvd) file format.
Definition at line 577 of file output_vtk.cc.
int OutputVTK::write_tail | ( | void | ) |
This function writes tail of VTK (.pvd) file format.
Definition at line 596 of file output_vtk.cc.
|
protected |
Write output data stored in OutputData vector to output stream
Definition at line 282 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 402 of file output_vtk.cc.
|
protected |
Write data on elements to the VTK file (.vtu)
Definition at line 451 of file output_vtk.cc.
|
protected |
Write registered data of all components of given Field to output stream
Definition at line 393 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 471 of file output_vtk.cc.
|
protected |
Write data on nodes to the VTK file (.vtu)
Definition at line 424 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 535 of file output_vtk.cc.
|
protected |
Write header of VTK file (.vtu)
Definition at line 219 of file output_vtk.cc.
|
protected |
Write tail of VTK file (.vtu)
Definition at line 519 of file output_vtk.cc.
|
protected |
Data output stream (could be same as base_file)
Definition at line 216 of file output_vtk.hh.
|
protected |
Stream of appended data (used only for binary appended output)
Definition at line 221 of file output_vtk.hh.
|
staticprotected |
Formats of DataArray section.
Definition at line 137 of file output_vtk.hh.
|
protected |
Basename of main output file (without extension)
Definition at line 229 of file output_vtk.hh.
|
protected |
Main output file directory.
Definition at line 232 of file output_vtk.hh.
|
staticprotected |
Registrar of class to factory.
Definition at line 134 of file output_vtk.hh.
|
protected |
Path to time frame VTU data subdirectory
Definition at line 226 of file output_vtk.hh.
|
protected |
Output format (ascii, binary or binary compressed)
Definition at line 235 of file output_vtk.hh.