Flow123d
JS_before_hm-887-g601087d
|
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 116 of file output_msh.cc.
OutputMSH::~OutputMSH | ( | ) |
The destructor of this class.
Definition at line 126 of file output_msh.cc.
|
overridevirtual |
Complete information about dummy fields that are not in output_data_list_.
Reimplemented from OutputTime.
Definition at line 357 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 105 of file output_msh.cc.
|
overridevirtual |
Set shared pointers of output data caches.
Reimplemented from OutputTime.
Definition at line 384 of file output_msh.cc.
|
private |
writes ElementNode data ascii GMSH (.msh) output file.
Definition at line 244 of file output_msh.cc.
|
virtual |
This method writes data to GMSH (.msh) file format for current time.
Implements OutputTime.
Definition at line 305 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 267 of file output_msh.cc.
int OutputMSH::write_head | ( | void | ) |
This method writes head of GMSH (.msh) file format.
Definition at line 290 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 193 of file output_msh.cc.
|
private |
This function writes geometry (position of nodes) to GMSH (.msh) file format.
Definition at line 144 of file output_msh.cc.
|
private |
This function write header of GMSH (.msh) file format.
Definition at line 134 of file output_msh.cc.
|
private |
This function writes topology (connection of nodes) to the GMSH (.msh) file format.
Definition at line 160 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 219 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 350 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 153 of file output_msh.hh.
|
private |
Definition at line 87 of file output_msh.hh.
|
private |
Vector gets ids of nodes.
Definition at line 151 of file output_msh.hh.
|
private |
Vector gets partitions of elements.
Definition at line 157 of file output_msh.hh.
|
private |
Vector gets ids of regions.
Definition at line 155 of file output_msh.hh.
|
staticprivate |
Registrar of class to factory.
Definition at line 85 of file output_msh.hh.