Flow123d
release_3.0.0-680-gbed5aba
|
#include <element_data_cache.hh>
Public Types | |
typedef std::shared_ptr< std::vector< T > > | ComponentDataPtr |
typedef std::vector< ComponentDataPtr > | CacheData |
Public Types inherited from ElementDataCacheBase | |
enum | NumCompValueType { N_SCALAR = 1, N_VECTOR = 3, N_TENSOR = 9 } |
enum | VTKValueType { VTK_INT8, VTK_UINT8, VTK_INT16, VTK_UINT16, VTK_INT32, VTK_UINT32, VTK_FLOAT32, VTK_FLOAT64 } |
Types of VTK value. More... | |
Public Member Functions | |
ElementDataCache () | |
Default constructor. More... | |
ElementDataCache (std::string field_name, double time, unsigned int size_of_cache, unsigned int row_vec_size) | |
Constructor of input ElementDataCache (allow read data from GMSH or VTK file) More... | |
ElementDataCache (std::string field_name, unsigned int n_rows, unsigned int n_cols, unsigned int size) | |
Constructor of output ElementDataCache (allow write data) More... | |
virtual | ~ElementDataCache () override |
Destructor of ElementDataCache. More... | |
ComponentDataPtr | get_component_data (unsigned int component_idx) |
Return vector of element data for get component. More... | |
void | read_ascii_data (Tokenizer &tok, unsigned int n_components, unsigned int i_row) override |
Implements ElementDataCacheBase::read_ascii_data . More... | |
void | read_binary_data (std::istream &data_stream, unsigned int n_components, unsigned int i_row) override |
Implements ElementDataCacheBase::read_binary_data . More... | |
void | print_ascii (ostream &out_stream, unsigned int idx) override |
void | print_ascii_all (ostream &out_stream) override |
Print all data stored in output data ro ascii format. More... | |
void | print_binary_all (ostream &out_stream, bool print_data_size=true) override |
Print all data stored in output data to appended binary format. More... | |
void | print_all_yaml (ostream &out_stream, unsigned int precision) override |
void | store_value (unsigned int idx, const T *value) |
void | add (unsigned int idx, const T *value) |
void | zero (unsigned int idx) |
void | normalize (unsigned int idx, unsigned int divisor) |
void | get_min_max_range (double &min, double &max) override |
CheckResult | check_values (double default_val, double lower_bound, double upper_bound) |
void | scale_data (double coef) |
T & | operator[] (unsigned int i) |
Access i-th element in the data vector of 0th component. More... | |
TYPEDEF_ERR_INFO (EI_FieldName, std::string) | |
DECLARE_EXCEPTION (ExcOutputVariableVector,<< "Can not output field "<< EI_FieldName::qval<< " returning variable size vectors. Try convert to MultiField.\n") | |
Public Member Functions inherited from ElementDataCacheBase | |
ElementDataCacheBase () | |
Constructor. More... | |
virtual | ~ElementDataCacheBase () |
Destructor. More... | |
double | get_time () |
Getter for time of cache. More... | |
std::string | field_input_name () |
Getter for quantity name of cache. More... | |
bool | is_actual (double time, std::string field_name) |
Check if cache stored actual data. More... | |
void | set_field_units (std::string unit_string) |
void | set_n_values (unsigned int n_values) |
std::string | field_units () |
unsigned int | n_values () |
NumCompValueType | n_elem () |
VTKValueType | vtk_type () |
Get type of stored data. More... | |
std::size_t | dof_handler_hash () const |
void | set_dof_handler_hash (std::size_t hash) |
Static Public Member Functions | |
static CacheData | create_data_cache (unsigned int size_of_cache, unsigned int row_vec_size) |
Protected Types | |
enum | CheckScaleData { none, check, scale } |
Allow to hold sign, if data in cache is checked and scale (both can be executed only once) More... | |
Protected Attributes | |
CheckScaleData | check_scale_data_ |
Sign, if data in cache is checked and scale. More... | |
CacheData | data_ |
Protected Attributes inherited from ElementDataCacheBase | |
double | time_ |
time step stored in cache More... | |
std::string | field_input_name_ |
name of field stored in cache More... | |
std::string | field_name_ |
std::string | field_units_ |
unsigned int | n_values_ |
NumCompValueType | n_elem_ |
VTKValueType | vtk_type_ |
Type of stored data. More... | |
std::size_t | dof_handler_hash_ |
Hash of DOF handler (attribute of native VTK data) More... | |
Additional Inherited Members | |
Protected Member Functions inherited from ElementDataCacheBase | |
template<class T > | |
void | set_vtk_type () |
Definition at line 42 of file element_data_cache.hh.
typedef std::vector< ComponentDataPtr > ElementDataCache< T >::CacheData |
Definition at line 45 of file element_data_cache.hh.
typedef std::shared_ptr< std::vector<T> > ElementDataCache< T >::ComponentDataPtr |
Definition at line 44 of file element_data_cache.hh.
|
protected |
Allow to hold sign, if data in cache is checked and scale (both can be executed only once)
Enumerator | |
---|---|
none |
Data is neither checked nor scaled. |
check |
Data is only checked. |
scale |
Data is scaled. |
Definition at line 179 of file element_data_cache.hh.
ElementDataCache< T >::ElementDataCache | ( | ) |
Default constructor.
Definition at line 31 of file element_data_cache.cc.
ElementDataCache< T >::ElementDataCache | ( | std::string | field_name, |
double | time, | ||
unsigned int | size_of_cache, | ||
unsigned int | row_vec_size | ||
) |
Constructor of input ElementDataCache (allow read data from GMSH or VTK file)
Allows set variable size of cache.
field_name | Field name thas is read |
time | Actual time of data |
size_of_cache | Count of columns of data cache |
row_vec_size | Count of rows of data cache |
Definition at line 37 of file element_data_cache.cc.
ElementDataCache< T >::ElementDataCache | ( | std::string | field_name, |
unsigned int | n_rows, | ||
unsigned int | n_cols, | ||
unsigned int | size | ||
) |
Constructor of output ElementDataCache (allow write data)
Has fix size of cache.
field_name | Field name is written as parameter to output stream |
n_rows | Given from shape of field |
n_cols | Given from shape of field |
size | Count of rows of data cache |
Definition at line 47 of file element_data_cache.cc.
|
overridevirtual |
Destructor of ElementDataCache.
Definition at line 81 of file element_data_cache.cc.
void ElementDataCache< T >::add | ( | unsigned int | idx, |
const T * | value | ||
) |
Add value to given index
Definition at line 248 of file element_data_cache.cc.
CheckResult ElementDataCache< T >::check_values | ( | double | default_val, |
double | lower_bound, | ||
double | upper_bound | ||
) |
Make full check of data stored in cache.
Method iterates through data and
Method is executed only once.
Definition at line 284 of file element_data_cache.cc.
|
static |
Create data cache with given count of columns (size_of_cache
) and rows (row_vec_size
).
Definition at line 92 of file element_data_cache.cc.
ElementDataCache< T >::DECLARE_EXCEPTION | ( | ExcOutputVariableVector | , |
<< "Can not output field "<< EI_FieldName::qval<< " returning variable size vectors. Try convert to MultiField.\n" | |||
) |
Declaration of exception
ElementDataCache< T >::ComponentDataPtr ElementDataCache< T >::get_component_data | ( | unsigned int | component_idx | ) |
Return vector of element data for get component.
Definition at line 85 of file element_data_cache.cc.
|
overridevirtual |
Find minimal and maximal range of stored data
Implements ElementDataCacheBase.
Definition at line 217 of file element_data_cache.cc.
void ElementDataCache< T >::normalize | ( | unsigned int | idx, |
unsigned int | divisor | ||
) |
Normalize values at given index
Definition at line 274 of file element_data_cache.cc.
T & ElementDataCache< T >::operator[] | ( | unsigned int | i | ) |
Access i-th element in the data vector of 0th component.
Access i-th element in the data vector.
Definition at line 322 of file element_data_cache.cc.
|
overridevirtual |
Print stored values in the YAML format (using JSON like arrays). Used for output of observe values.
Implements ElementDataCacheBase.
Definition at line 183 of file element_data_cache.cc.
|
overridevirtual |
Output data element on given index idx
. Method for writing data to output stream.
Implements ElementDataCacheBase.
Definition at line 138 of file element_data_cache.cc.
|
overridevirtual |
Print all data stored in output data ro ascii format.
Print all data stored in output data.
TODO: indicate if the tensor data are output in column-first or raw-first order and possibly implement transposition. Set such property for individual file formats. Class OutputData stores always in raw-first order.
Implements ElementDataCacheBase.
Definition at line 154 of file element_data_cache.cc.
|
overridevirtual |
Print all data stored in output data to appended binary format.
Prints the whole data vector into stream.
Implements ElementDataCacheBase.
Definition at line 166 of file element_data_cache.cc.
|
overridevirtual |
Implements ElementDataCacheBase::read_ascii_data
.
Implements ElementDataCacheBase.
Definition at line 105 of file element_data_cache.cc.
|
overridevirtual |
Implements ElementDataCacheBase::read_binary_data
.
Implements ElementDataCacheBase.
Definition at line 119 of file element_data_cache.cc.
void ElementDataCache< T >::scale_data | ( | double | coef | ) |
Scale data vector of given 'component_idx' with scale 'coef'.
Method is executed only once and should be called after check_values method. Method can be used e. g. for convert between units.
Definition at line 306 of file element_data_cache.cc.
void ElementDataCache< T >::store_value | ( | unsigned int | idx, |
const T * | value | ||
) |
Store data element of given data value under given index.
Definition at line 235 of file element_data_cache.cc.
ElementDataCache< T >::TYPEDEF_ERR_INFO | ( | EI_FieldName | , |
std::string | |||
) |
Declaration of new exception info used in following exception
void ElementDataCache< T >::zero | ( | unsigned int | idx | ) |
Reset values at given index
Definition at line 261 of file element_data_cache.cc.
|
protected |
Sign, if data in cache is checked and scale.
Definition at line 186 of file element_data_cache.hh.
|
protected |
Table of element data.
For every components contains vector of element data.
Definition at line 193 of file element_data_cache.hh.