Flow123d
release_2.2.1-10-gb9fad4d
|
#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 (MeshDataHeader data_header, 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 |
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... | |
Static Public Member Functions | |
static CacheData | create_data_cache (unsigned int size_of_cache, unsigned int row_vec_size) |
Protected Attributes | |
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... | |
Additional Inherited Members | |
Protected Member Functions inherited from ElementDataCacheBase | |
template<class T > | |
void | set_vtk_type () |
Definition at line 36 of file element_data_cache.hh.
typedef std::vector< ComponentDataPtr > ElementDataCache< T >::CacheData |
Definition at line 39 of file element_data_cache.hh.
typedef std::shared_ptr< std::vector<T> > ElementDataCache< T >::ComponentDataPtr |
Definition at line 38 of file element_data_cache.hh.
ElementDataCache< T >::ElementDataCache | ( | ) |
Default constructor.
Definition at line 27 of file element_data_cache.cc.
ElementDataCache< T >::ElementDataCache | ( | MeshDataHeader | data_header, |
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.
data_header | Set data members time_ and field_name_ |
size_of_cache | Count of columns of data cache |
row_vec_size | Count of rows of data cache |
Definition at line 32 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 40 of file element_data_cache.cc.
|
overridevirtual |
Destructor of ElementDataCache.
Definition at line 73 of file element_data_cache.cc.
void ElementDataCache< T >::add | ( | unsigned int | idx, |
const T * | value | ||
) |
Add value to given index
Definition at line 240 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 84 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 77 of file element_data_cache.cc.
|
overridevirtual |
Find minimal and maximal range of stored data
Implements ElementDataCacheBase.
Definition at line 209 of file element_data_cache.cc.
void ElementDataCache< T >::normalize | ( | unsigned int | idx, |
unsigned int | divisor | ||
) |
Normalize values at given index
Definition at line 266 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 277 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 175 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 130 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 146 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 158 of file element_data_cache.cc.
|
overridevirtual |
Implements ElementDataCacheBase::read_ascii_data
.
Implements ElementDataCacheBase.
Definition at line 97 of file element_data_cache.cc.
|
overridevirtual |
Implements ElementDataCacheBase::read_binary_data
.
Implements ElementDataCacheBase.
Definition at line 111 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 227 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 253 of file element_data_cache.cc.
|
protected |
Table of element data.
For every components contains vector of element data.
Definition at line 155 of file element_data_cache.hh.