Flow123d
master-f44eb46
|
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 std::array< bool, 4 > | 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 | 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, const std::shared_ptr< TimeUnitConversion > &time_unit_conv) |
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 > | |
OutputDataPtr | prepare_compute_data (std::string field_name, DiscreteSpace space_type, unsigned int n_rows, unsigned int n_cols, std::string fe_type="", unsigned int n_dofs_per_element=1) |
bool | is_parallel () const |
int | rank () const |
int | n_proc () const |
double | registered_time () const |
Getter to registered time. More... | |
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 bool | discrete_flags_defined (DiscreteSpaceFlags &dsf) |
Check if at least one of discrete space flag is set to true. More... | |
static DiscreteSpaceFlags | empty_discrete_flags () |
Check if at least one of discrete space flag is set to true. More... | |
static void | set_discrete_flag (DiscreteSpaceFlags &dsf, DiscreteSpace d_space) |
static std::shared_ptr< OutputTime > | create_output_stream (const std::string &equation_name, const Input::Record &in_rec, const std::shared_ptr< TimeUnitConversion > &time_unit_conv) |
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, const std::vector< unsigned int > &permutations) |
This function writes nodes / elements 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 | registered_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< TimeUnitConversion > | time_unit_converter |
Time unit conversion object from the equation time governor. 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 44 of file output_msh.cc.
OutputMSH::~OutputMSH | ( | ) |
The destructor of this class.
Definition at line 54 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 33 of file output_msh.cc.
|
overridevirtual |
Set shared pointers of output data caches.
Reimplemented from OutputTime.
Definition at line 317 of file output_msh.cc.
|
private |
writes ElementNode data ascii GMSH (.msh) output file.
Definition at line 191 of file output_msh.cc.
|
virtual |
This method writes data to GMSH (.msh) file format for current time.
Implements OutputTime.
Definition at line 266 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 227 of file output_msh.cc.
int OutputMSH::write_head | ( | void | ) |
This method writes head of GMSH (.msh) file format.
Definition at line 251 of file output_msh.cc.
|
private |
This function writes nodes / elements 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] | permutations | Permutation vector of optimized order of nodes / elements. |
Definition at line 140 of file output_msh.cc.
|
private |
This function writes geometry (position of nodes) to GMSH (.msh) file format.
Definition at line 75 of file output_msh.cc.
|
private |
This function write header of GMSH (.msh) file format.
Definition at line 65 of file output_msh.cc.
|
private |
This function writes topology (connection of nodes) to the GMSH (.msh) file format.
Definition at line 87 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 165 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 311 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 90 of file output_msh.hh.
|
private |
Vector gets ids of elements.
Definition at line 150 of file output_msh.hh.
|
private |
Definition at line 84 of file output_msh.hh.
|
private |
Vector gets ids of nodes.
Definition at line 148 of file output_msh.hh.
|
private |
Vector gets partitions of elements.
Definition at line 154 of file output_msh.hh.
|
private |
Vector gets ids of regions.
Definition at line 152 of file output_msh.hh.
|
staticprivate |
Registrar of class to factory.
Definition at line 82 of file output_msh.hh.