Go to the documentation of this file.
19 #ifndef MSH_BASE_READER_HH
20 #define MSH_BASE_READER_HH
46 int8,
uint8,
int16,
uint16,
int32,
uint32,
int64,
uint64,
float32,
float64,
undefined
67 <<
"No data for field: "<< EI_FieldName::qval
68 <<
" and time: "<< EI_Time::val
69 <<
" in the input file: "<< EI_MeshFile::qval);
71 <<
"Missing data type specification for field: "<< EI_FieldName::qval
72 <<
" and time: "<< EI_Time::val
73 <<
" in the input file: "<< EI_MeshFile::qval
74 <<
"\nPlease, add value of key 'input_discretization'.");
76 <<
"Wrong format of " << EI_Type::val <<
", " << EI_TokenizerMsg::val <<
"\n"
77 <<
"in the input file: " << EI_MeshFile::qval);
79 <<
"Unsupported extension " << EI_FileExtension::qval <<
" of the input file: " << EI_MeshFile::qval);
81 <<
"Wrong number of components of field " << EI_FieldName::qval
82 <<
" at time " << EI_Time::val
83 <<
" in the input file: " << EI_MeshFile::qval);
194 unsigned int expected_n_components,
bool boundary_domain);
218 double lower_bound = -std::numeric_limits<double>::max(),
double upper_bound = std::numeric_limits<double>::max());
248 bool boundary_domain)=0;
TYPEDEF_ERR_INFO(EI_FieldName, std::string)
Tokenizer tok_
Tokenizer used for reading ASCII file format.
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())
vector< LongIdx > boundary_elements_id_
static std::shared_ptr< BaseMeshReader > reader_factory(const FilePath &file_name)
virtual MeshDataHeader & find_header(HeaderQuery &header_query)=0
Dedicated class for storing path to input and output files.
virtual void read_nodes(Mesh *mesh)=0
void set_element_ids(const Mesh &mesh)
std::shared_ptr< ElementDataCacheBase > ElementDataPtr
std::shared_ptr< ElementDataFieldMap > element_data_values_
Cache with last read element data.
static Mesh * mesh_factory(const Input::Record &input_mesh_rec)
DECLARE_INPUT_EXCEPTION(ExcFieldNameNotFound,<< "No data for field: "<< EI_FieldName::qval<< " and time: "<< EI_Time::val<< " in the input file: "<< EI_MeshFile::qval)
virtual void make_header_table()=0
CheckResult
Return type of method that checked data stored in ElementDataCache (NaN values, limits)
const std::vector< int > & get_element_ids(bool boundary_domain)
virtual void read_physical_names(Mesh *mesh)=0
BaseMeshReader(const FilePath &file_name)
Constructor.
std::map< string, ElementDataPtr > ElementDataFieldMap
virtual void read_elements(Mesh *mesh)=0
std::shared_ptr< std::vector< T > > CacheData
void read_raw_mesh(Mesh *mesh)
ElementDataCache< T >::CacheData get_element_data(MeshDataHeader header, unsigned int expected_n_entities, unsigned int expected_n_components, bool boundary_domain)
std::string data_section_name_
Store name of field data section specify for type of mesh file.
DECLARE_EXCEPTION(ExcWrongFormat,<< "Wrong format of "<< EI_Type::val<< ", "<< EI_TokenizerMsg::val<< "\n"<< "in the input file: "<< EI_MeshFile::qval)
virtual void read_element_data(ElementDataCacheBase &data_cache, MeshDataHeader header, bool boundary_domain)=0
bool has_compatible_mesh_
vector< LongIdx > bulk_elements_id_
DataType
Types of VTK data (value 'undefined' for empty value)