#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) |
|
| DECLARE_EXCEPTION (ExcWrongComponentsCount,<< "Wrong number of components of field "<< EI_FieldName::qval<< " at time "<< EI_Time::val<< " in 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 >::CacheData | get_element_data (MeshDataHeader header, unsigned int expected_n_entities, unsigned int expected_n_components, bool boundary_domain) |
|
void | set_element_ids (const Mesh &mesh) |
|
const std::vector< int > & | get_element_ids (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/3]
BaseMeshReader::DECLARE_EXCEPTION |
( |
ExcWrongComponentsCount |
, |
|
|
<< "Wrong number of components of field "<< EI_FieldName::qval<< " at time "<< EI_Time::val<< " in the input file: "<< EI_MeshFile::qval |
|
|
) |
| |
◆ DECLARE_EXCEPTION() [2/3]
BaseMeshReader::DECLARE_EXCEPTION |
( |
ExcWrongExtension |
, |
|
|
<< "Unsupported extension "<< EI_FileExtension::qval<< " of the input file: "<< EI_MeshFile::qval |
|
|
) |
| |
◆ DECLARE_EXCEPTION() [3/3]
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 >::CacheData BaseMeshReader::get_element_data |
( |
MeshDataHeader |
header, |
|
|
unsigned int |
expected_n_entities, |
|
|
unsigned int |
expected_n_components, |
|
|
bool |
boundary_domain |
|
) |
| |
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; 0 for single component fields. |
Definition at line 95 of file msh_basereader.cc.
◆ get_element_ids()
const std::vector< int > & BaseMeshReader::get_element_ids |
( |
bool |
boundary_domain | ) |
|
Returns vector of boundary or bulk element IDs to read. Used by GMSH reader only.
Definition at line 88 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 74 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() |
|
) |
| |
◆ set_element_ids()
void BaseMeshReader::set_element_ids |
( |
const Mesh & |
mesh | ) |
|
Set ID vectors from a different mesh. Must be set in order to determine for which IDs the GMSH reader should read the data. Could possibly read just a subset.
Definition at line 81 of file msh_basereader.cc.
◆ 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
◆ 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. If set through set_element_ids, the GMSH reader only reads given IDs and check that all IDs are read.
Definition at line 269 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 258 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 255 of file msh_basereader.hh.
◆ tok_
Tokenizer BaseMeshReader::tok_ |
|
protected |
The documentation for this class was generated from the following files: