Flow123d  release_2.1.2-337-g6b7a56b
Public Types | Public Member Functions | Static Public Member Functions | Protected Attributes | List of all members
ElementDataCache< T > Class Template Reference

#include <element_data_cache.hh>

Inheritance diagram for ElementDataCache< T >:
Inheritance graph
[legend]
Collaboration diagram for ElementDataCache< T >:
Collaboration graph
[legend]

Public Types

typedef std::shared_ptr< std::vector< T > > ComponentDataPtr
 
typedef std::vector< ComponentDataPtrCacheData
 
- 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 ()
 

Detailed Description

template<typename T>
class ElementDataCache< T >

Definition at line 36 of file element_data_cache.hh.

Member Typedef Documentation

template<typename T>
typedef std::vector< ComponentDataPtr > ElementDataCache< T >::CacheData

Definition at line 39 of file element_data_cache.hh.

template<typename T>
typedef std::shared_ptr< std::vector<T> > ElementDataCache< T >::ComponentDataPtr

Definition at line 38 of file element_data_cache.hh.

Constructor & Destructor Documentation

template<typename T >
ElementDataCache< T >::ElementDataCache ( )

Default constructor.

Definition at line 27 of file element_data_cache.cc.

template<typename T >
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.

Parameters
data_headerSet data members time_ and field_name_
size_of_cacheCount of columns of data cache
row_vec_sizeCount of rows of data cache

Definition at line 32 of file element_data_cache.cc.

template<typename T >
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.

Parameters
field_nameField name is written as parameter to output stream
n_rowsGiven from shape of field
n_colsGiven from shape of field
sizeCount of rows of data cache

Definition at line 40 of file element_data_cache.cc.

template<typename T >
ElementDataCache< T >::~ElementDataCache ( )
overridevirtual

Destructor of ElementDataCache.

Definition at line 73 of file element_data_cache.cc.

Member Function Documentation

template<typename T>
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.

Here is the caller graph for this function:

template<typename T >
ElementDataCache< T >::CacheData ElementDataCache< T >::create_data_cache ( unsigned int  size_of_cache,
unsigned int  row_vec_size 
)
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.

Here is the caller graph for this function:

template<typename T>
ElementDataCache< T >::DECLARE_EXCEPTION ( ExcOutputVariableVector  ,
<< "Can not output field "<< EI_FieldName::qval<< " returning variable size vectors. Try convert to MultiField.\n"   
)

Declaration of exception

template<typename T >
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.

Here is the caller graph for this function:

template<typename T >
void ElementDataCache< T >::get_min_max_range ( double &  min,
double &  max 
)
overridevirtual

Find minimal and maximal range of stored data

Implements ElementDataCacheBase.

Definition at line 209 of file element_data_cache.cc.

template<typename T >
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.

Here is the caller graph for this function:

template<class T >
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.

template<typename T >
void ElementDataCache< T >::print_all_yaml ( ostream &  out_stream,
unsigned int  precision 
)
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.

template<typename T >
void ElementDataCache< T >::print_ascii ( ostream &  out_stream,
unsigned int  idx 
)
overridevirtual

Output data element on given index idx. Method for writing data to output stream.

Note
This method is used only by MSH file format.

Implements ElementDataCacheBase.

Definition at line 130 of file element_data_cache.cc.

template<typename T >
void ElementDataCache< T >::print_ascii_all ( ostream &  out_stream)
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.

template<typename T >
void ElementDataCache< T >::print_binary_all ( ostream &  out_stream,
bool  print_data_size = true 
)
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.

template<typename T >
void ElementDataCache< T >::read_ascii_data ( Tokenizer &  tok,
unsigned int  n_components,
unsigned int  i_row 
)
overridevirtual

Implements ElementDataCacheBase::read_ascii_data.

Implements ElementDataCacheBase.

Definition at line 97 of file element_data_cache.cc.

template<typename T >
void ElementDataCache< T >::read_binary_data ( std::istream &  data_stream,
unsigned int  n_components,
unsigned int  i_row 
)
overridevirtual

Implements ElementDataCacheBase::read_binary_data.

Implements ElementDataCacheBase.

Definition at line 111 of file element_data_cache.cc.

template<typename T>
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.

Here is the caller graph for this function:

template<typename T>
ElementDataCache< T >::TYPEDEF_ERR_INFO ( EI_FieldName  ,
std::string   
)

Declaration of new exception info used in following exception

template<typename T >
void ElementDataCache< T >::zero ( unsigned int  idx)

Reset values at given index

Definition at line 253 of file element_data_cache.cc.

Here is the caller graph for this function:

Member Data Documentation

template<typename T>
CacheData ElementDataCache< T >::data_
protected

Table of element data.

For every components contains vector of element data.

Definition at line 155 of file element_data_cache.hh.


The documentation for this class was generated from the following files: