Flow123d
release_3.0.0-1212-g8801db3
|
This class is used for output data to VTK file format. More...
#include <output_msh.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 | |
OutputMSH () | |
The constructor of this class. We open the output file in first call of write_data. More... | |
~OutputMSH () | |
The destructor of this class. More... | |
int | write_head (void) |
This method writes head of GMSH (.msh) file format. More... | |
int | write_data (void) |
This method writes data to GMSH (.msh) file format for current time. More... | |
int | write_tail (void) |
This method should write tail of GMSH (.msh) file format. More... | |
void | add_dummy_fields () override |
Complete information about dummy fields that are not in output_data_list_. More... | |
void | set_output_data_caches (std::shared_ptr< OutputMeshBase > mesh_ptr) override |
Public Member Functions inherited from OutputTime | |
OutputTime () | |
Default constructor. Only for testing. More... | |
virtual void | init_from_input (const std::string &equation_name, const Input::Record &in_rec, std::string unit_str) |
Constructor of OutputTime object. It opens base file for writing. 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... | |
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 |
Static Public Member Functions | |
static const Input::Type::Record & | get_input_type () |
The definition of input record for gmsh 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... | |
Private Member Functions | |
void | write_msh_header (void) |
This function write header of GMSH (.msh) file format. More... | |
void | write_msh_geometry (void) |
This function writes geometry (position of nodes) to GMSH (.msh) file format. More... | |
void | write_msh_topology (void) |
This function writes topology (connection of nodes) to the GMSH (.msh) file format. More... | |
void | write_msh_ascii_data (std::shared_ptr< ElementDataCache< unsigned int >> id_cache, OutputDataPtr output_data, bool discont=false) |
This function writes ascii data to GMSH (.msh) output file. More... | |
void | write_node_data (OutputDataPtr output_data) |
This function write all data on nodes to output file. This function is used for static and dynamic data. More... | |
void | write_corner_data (OutputDataPtr output_data) |
writes ElementNode data ascii GMSH (.msh) output file. More... | |
void | write_elem_data (OutputDataPtr output_data) |
This function write all data on elements to output file. This function is used for static and dynamic data. More... | |
void | fix_base_file_name (void) |
This method add right suffix to .msh GMSH file. More... | |
Private Attributes | |
bool | header_written |
std::vector< std::vector< OutputDataPtr > > | dummy_data_list_ |
std::shared_ptr< ElementDataCache< unsigned int > > | node_ids_ |
Vector gets ids of nodes. More... | |
std::shared_ptr< ElementDataCache< unsigned int > > | elem_ids_ |
Vector gets ids of elements. More... | |
std::shared_ptr< ElementDataCache< unsigned int > > | region_ids_ |
Vector gets ids of regions. More... | |
std::shared_ptr< ElementDataCache< int > > | partitions_ |
Vector gets partitions of elements. More... | |
Static Private 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 = 4 |
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 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... | |
This class is used for output data to VTK file format.
Definition at line 30 of file output_msh.hh.
typedef OutputTime OutputMSH::FactoryBaseType |
Definition at line 32 of file output_msh.hh.
OutputMSH::OutputMSH | ( | ) |
The constructor of this class. We open the output file in first call of write_data.
Definition at line 117 of file output_msh.cc.
OutputMSH::~OutputMSH | ( | ) |
The destructor of this class.
Definition at line 127 of file output_msh.cc.
|
overridevirtual |
Complete information about dummy fields that are not in output_data_list_.
Reimplemented from OutputTime.
Definition at line 359 of file output_msh.cc.
|
private |
This method add right suffix to .msh GMSH file.
|
static |
The definition of input record for gmsh file format.
Definition at line 106 of file output_msh.cc.
|
overridevirtual |
Set shared pointers of output data caches.
Reimplemented from OutputTime.
Definition at line 386 of file output_msh.cc.
|
private |
writes ElementNode data ascii GMSH (.msh) output file.
Definition at line 246 of file output_msh.cc.
|
virtual |
This method writes data to GMSH (.msh) file format for current time.
Implements OutputTime.
Definition at line 307 of file output_msh.cc.
|
private |
This function write all data on elements to output file. This function is used for static and dynamic data.
[in] | time | The time from start |
[in] | step | The number of steps from start |
Definition at line 269 of file output_msh.cc.
int OutputMSH::write_head | ( | void | ) |
This method writes head of GMSH (.msh) file format.
Definition at line 292 of file output_msh.cc.
|
private |
This function writes ascii data to GMSH (.msh) output file.
[in] | id_cache | Data cache of node or element ids. |
[in] | output_data | The pointer at structure storing pointer at own data. |
[in] | discont | Flag determines continuous or discontinuous mesh. |
Definition at line 195 of file output_msh.cc.
|
private |
This function writes geometry (position of nodes) to GMSH (.msh) file format.
Definition at line 145 of file output_msh.cc.
|
private |
This function write header of GMSH (.msh) file format.
/**
Definition at line 135 of file output_msh.cc.
|
private |
This function writes topology (connection of nodes) to the GMSH (.msh) file format.
Definition at line 162 of file output_msh.cc.
|
private |
This function write all data on nodes to output file. This function is used for static and dynamic data.
[in] | time | The time from start |
[in] | step | The number of steps from start |
Definition at line 221 of file output_msh.cc.
int OutputMSH::write_tail | ( | void | ) |
This method should write tail of GMSH (.msh) file format.
It is stupid file format. It doesn't write anything special at the end of the file
Definition at line 352 of file output_msh.cc.
|
private |
EquationOutput force output of all output fields at the time zero. We keep this list to perform single elemnent/node output in order to have correct behavior in GMSH.
Definition at line 93 of file output_msh.hh.
|
private |
Vector gets ids of elements.
Definition at line 154 of file output_msh.hh.
|
private |
Definition at line 87 of file output_msh.hh.
|
private |
Vector gets ids of nodes.
Definition at line 152 of file output_msh.hh.
|
private |
Vector gets partitions of elements.
Definition at line 158 of file output_msh.hh.
|
private |
Vector gets ids of regions.
Definition at line 156 of file output_msh.hh.
|
staticprivate |
Registrar of class to factory.
Definition at line 85 of file output_msh.hh.