#include <msh_basereader.hh>
|
| TYPEDEF_ERR_INFO (EI_FieldName, std::string) |
|
| TYPEDEF_ERR_INFO (EI_Time, double) |
|
| TYPEDEF_ERR_INFO (EI_MeshFile, std::string) |
|
| TYPEDEF_ERR_INFO (EI_Type, std::string) |
|
| TYPEDEF_ERR_INFO (EI_TokenizerMsg, std::string) |
|
| TYPEDEF_ERR_INFO (EI_FileExtension, std::string) |
|
| DECLARE_INPUT_EXCEPTION (ExcFieldNameNotFound,<< "No data for field: "<< EI_FieldName::qval<< " and time: "<< EI_Time::val<< " in the input file: "<< EI_MeshFile::qval) |
|
| DECLARE_INPUT_EXCEPTION (ExcMissingFieldDiscretization,<< "Missing data type specification for field: "<< EI_FieldName::qval<< " and time: "<< EI_Time::val<< " in the input file: "<< EI_MeshFile::qval<< "\nPlease, add value of key 'input_discretization'.") |
|
| DECLARE_EXCEPTION (ExcWrongFormat,<< "Wrong format of "<< EI_Type::val<< ", "<< EI_TokenizerMsg::val<< "\n"<< "in the input file: "<< EI_MeshFile::qval) |
|
| DECLARE_EXCEPTION (ExcWrongExtension,<< "Unsupported extension "<< EI_FileExtension::qval<< " of the input file: "<< EI_MeshFile::qval) |
|
| BaseMeshReader (const FilePath &file_name) |
| Constructor. More...
|
|
void | read_raw_mesh (Mesh *mesh) |
|
virtual void | read_physical_names (Mesh *mesh)=0 |
|
template<typename T > |
ElementDataCache< T >::ComponentDataPtr | get_element_data (unsigned int n_entities, unsigned int n_components, bool boundary_domain, unsigned int component_idx) |
|
const std::vector< int > & | get_element_vector (bool boundary_domain) |
|
virtual MeshDataHeader & | find_header (HeaderQuery &header_query)=0 |
|
CheckResult | scale_and_check_limits (string field_name, double coef, double default_val, double lower_bound=-std::numeric_limits< double >::max(), double upper_bound=std::numeric_limits< double >::max()) |
|
Abstract parent of mesh readers.
Supported are:
Definition at line 58 of file msh_basereader.hh.
◆ ElementDataFieldMap
◆ ElementDataPtr
◆ BaseMeshReader() [1/2]
BaseMeshReader::BaseMeshReader |
( |
const FilePath & |
file_name | ) |
|
◆ BaseMeshReader() [2/2]
◆ DECLARE_EXCEPTION() [1/2]
BaseMeshReader::DECLARE_EXCEPTION |
( |
ExcWrongExtension |
, |
|
|
<< "Unsupported extension "<< EI_FileExtension::qval<< " of the input file: "<< EI_MeshFile::qval |
|
|
) |
| |
◆ DECLARE_EXCEPTION() [2/2]
BaseMeshReader::DECLARE_EXCEPTION |
( |
ExcWrongFormat |
, |
|
|
<< "Wrong format of "<< EI_Type::val<< " |
, |
|
|
"<< EI_TokenizerMsg::val<< "\n"<< "in the input file:"<< EI_MeshFile::qval |
|
|
) |
| |
◆ DECLARE_INPUT_EXCEPTION() [1/2]
BaseMeshReader::DECLARE_INPUT_EXCEPTION |
( |
ExcFieldNameNotFound |
, |
|
|
<< "No data for field: "<< EI_FieldName::qval<< " and time: "<< EI_Time::val<< " in the input file: "<< EI_MeshFile::qval |
|
|
) |
| |
◆ DECLARE_INPUT_EXCEPTION() [2/2]
BaseMeshReader::DECLARE_INPUT_EXCEPTION |
( |
ExcMissingFieldDiscretization |
, |
|
|
<< "Missing data type specification for field: "<< EI_FieldName::qval<< " and time: "<< EI_Time::val<< " in the input file: "<< EI_MeshFile::qval<< "\ |
nPlease, |
|
|
add value of key 'input_discretization'." |
|
|
) |
| |
◆ find_header()
◆ get_element_data()
template<typename T >
ElementDataCache< T >::ComponentDataPtr BaseMeshReader::get_element_data |
( |
unsigned int |
n_entities, |
|
|
unsigned int |
n_components, |
|
|
bool |
boundary_domain, |
|
|
unsigned int |
component_idx |
|
) |
| |
Reads ElementData sections of opened mesh file. Method must be call after set_data_header
method. If such section has not been yet read, we read the data section into raw buffer data
. The buffer must have size at least n_components
* n_entities
. Indexes in the map must be smaller then n_entities
.
Possible optimizations: If the map ID lookup seem slow, we may assume that IDs are in increasing order, use simple array of IDs instead of map and just check that they comes in in correct order.
- Parameters
-
n_entities | count of entities (elements) |
n_components | count of components (size of returned data is given by n_entities*n_components) |
boundary_domain | flag determines that data is read for boundary or bulk elements |
component_idx | component index of MultiField |
Definition at line 90 of file msh_basereader.cc.
◆ get_element_vector()
const std::vector< int > & BaseMeshReader::get_element_vector |
( |
bool |
boundary_domain | ) |
|
Returns vector of boundary or bulk element ids by parameter boundary_domain
Definition at line 83 of file msh_basereader.cc.
◆ make_header_table()
virtual void BaseMeshReader::make_header_table |
( |
| ) |
|
|
protectedpure virtual |
◆ mesh_factory()
This static method gets accessor to record with function input, dispatch to correct constructor and initialize appropriate function object from the input. Allow to make optimization of elements and nodes order if flag optimize_mesh is set Returns pointer to Mesh.
Definition at line 52 of file msh_basereader.cc.
◆ read_element_data()
◆ read_elements()
virtual void BaseMeshReader::read_elements |
( |
Mesh * |
mesh | ) |
|
|
protectedpure virtual |
◆ read_nodes()
virtual void BaseMeshReader::read_nodes |
( |
Mesh * |
mesh | ) |
|
|
protectedpure virtual |
◆ read_physical_names()
virtual void BaseMeshReader::read_physical_names |
( |
Mesh * |
mesh | ) |
|
|
pure virtual |
◆ read_raw_mesh()
void BaseMeshReader::read_raw_mesh |
( |
Mesh * |
mesh | ) |
|
Reads raw
data of mesh (only nodes and elements) from the GMSH or VTKfile. Input of the mesh allows changing regions within the input file.
Definition at line 75 of file msh_basereader.cc.
◆ reader_factory()
This static method gets file path object of reader, dispatch to correct constructor and initialize appropriate function object from the input. Returns shared pointer to BaseMeshReader.
Definition at line 38 of file msh_basereader.cc.
◆ scale_and_check_limits()
CheckResult BaseMeshReader::scale_and_check_limits |
( |
string |
field_name, |
|
|
double |
coef, |
|
|
double |
default_val, |
|
|
double |
lower_bound = -std::numeric_limits<double>::max() , |
|
|
double |
upper_bound = std::numeric_limits<double>::max() |
|
) |
| |
◆ TYPEDEF_ERR_INFO() [1/6]
BaseMeshReader::TYPEDEF_ERR_INFO |
( |
EI_FieldName |
, |
|
|
std::string |
|
|
) |
| |
◆ TYPEDEF_ERR_INFO() [2/6]
BaseMeshReader::TYPEDEF_ERR_INFO |
( |
EI_FileExtension |
, |
|
|
std::string |
|
|
) |
| |
◆ TYPEDEF_ERR_INFO() [3/6]
BaseMeshReader::TYPEDEF_ERR_INFO |
( |
EI_MeshFile |
, |
|
|
std::string |
|
|
) |
| |
◆ TYPEDEF_ERR_INFO() [4/6]
BaseMeshReader::TYPEDEF_ERR_INFO |
( |
EI_Time |
, |
|
|
double |
|
|
) |
| |
◆ TYPEDEF_ERR_INFO() [5/6]
BaseMeshReader::TYPEDEF_ERR_INFO |
( |
EI_TokenizerMsg |
, |
|
|
std::string |
|
|
) |
| |
◆ TYPEDEF_ERR_INFO() [6/6]
BaseMeshReader::TYPEDEF_ERR_INFO |
( |
EI_Type |
, |
|
|
std::string |
|
|
) |
| |
◆ ReaderCache
◆ actual_header_
◆ boundary_elements_id_
◆ bulk_elements_id_
Vector of both bulk and boundary IDs. Bulk elements come first, then boundary elements, but only the portion that appears in input mesh file and has ID assigned.
Definition at line 254 of file msh_basereader.hh.
◆ data_section_name_
std::string BaseMeshReader::data_section_name_ |
|
protected |
Store name of field data section specify for type of mesh file.
Definition at line 244 of file msh_basereader.hh.
◆ element_data_values_
◆ has_compatible_mesh_
bool BaseMeshReader::has_compatible_mesh_ |
|
protected |
Flag stores that check of compatible mesh was performed.
This flag has effect only for VTK reader.
Definition at line 241 of file msh_basereader.hh.
◆ tok_
Tokenizer BaseMeshReader::tok_ |
|
protected |
The documentation for this class was generated from the following files: