Flow123d  release_3.0.0-1026-ga6b0c21
Public Types | Public Member Functions | Private Attributes | List of all members
FEValueHandler< elemdim, spacedim, Value > Class Template Reference

#include <fe_value_handler.hh>

Collaboration diagram for FEValueHandler< elemdim, spacedim, Value >:
Collaboration graph
[legend]

Public Types

typedef Space< spacedim >::Point Point
 

Public Member Functions

 FEValueHandler ()
 Constructor. More...
 
void initialize (FEValueInitData init_data)
 Initialize data members. More...
 
MappingP1< elemdim, 3 > * get_mapping ()
 Return mapping object. More...
 
Value::return_type const & value (const Point &p, const ElementAccessor< spacedim > &elm)
 Returns one value in one given point. More...
 
void value_list (const std::vector< Point > &point_list, const ElementAccessor< spacedim > &elm, std::vector< typename Value::return_type > &value_list)
 Returns std::vector of scalar values in several points at once. More...
 
unsigned int compute_quadrature (std::vector< arma::vec::fixed< 3 >> &q_points, std::vector< double > &q_weights, const ElementAccessor< spacedim > &elm, unsigned int order=3)
 Compute real coordinates and weights (use QGauss) for given element. More...
 
 ~FEValueHandler ()
 Destructor. More...
 
void set_boundary_dofs_vector (std::shared_ptr< std::vector< LongIdx > > boundary_dofs)
 TODO: Temporary solution. Fix problem with merge new DOF handler and boundary Mesh. Will be removed in future. More...
 
unsigned int get_dof_indices (const ElementAccessor< 3 > &cell, std::vector< LongIdx > &indices) const
 TODO: Temporary solution. Fix problem with merge new DOF handler and boundary Mesh. Will be removed in future. More...
 

Private Attributes

std::shared_ptr< DOFHandlerMultiDimdh_
 DOF handler object. More...
 
VectorMPI data_vec_
 Store data of Field. More...
 
std::vector< LongIdxdof_indices
 Array of indexes to data_vec_, used for get/set values. More...
 
Value value_
 Last value, prevents passing large values (vectors) by value. More...
 
Value::return_type r_value_
 
MappingP1< elemdim, 3 > * map_
 Mapping object. More...
 
unsigned int comp_index_
 Index of component (of vector_value/tensor_value) More...
 
std::shared_ptr< std::vector< LongIdx > > boundary_dofs_
 

Detailed Description

template<int elemdim, int spacedim, class Value>
class FEValueHandler< elemdim, spacedim, Value >

Helper class that allows compute finite element values specified by element dimension.

Definition at line 51 of file fe_value_handler.hh.

Member Typedef Documentation

template<int elemdim, int spacedim, class Value>
typedef Space<spacedim>::Point FEValueHandler< elemdim, spacedim, Value >::Point

Definition at line 54 of file fe_value_handler.hh.

Constructor & Destructor Documentation

template<int elemdim, int spacedim, class Value >
FEValueHandler< elemdim, spacedim, Value >::FEValueHandler ( )

Constructor.

Definition at line 87 of file fe_value_handler.cc.

template<int elemdim, int spacedim, class Value >
FEValueHandler< elemdim, spacedim, Value >::~FEValueHandler ( )

Destructor.

Definition at line 226 of file fe_value_handler.cc.

Member Function Documentation

template<int elemdim, int spacedim, class Value >
unsigned int FEValueHandler< elemdim, spacedim, Value >::compute_quadrature ( std::vector< arma::vec::fixed< 3 >> &  q_points,
std::vector< double > &  q_weights,
const ElementAccessor< spacedim > &  elm,
unsigned int  order = 3 
)

Compute real coordinates and weights (use QGauss) for given element.

Definition at line 153 of file fe_value_handler.cc.

Here is the caller graph for this function:

template<int elemdim, int spacedim, class Value >
unsigned int FEValueHandler< elemdim, spacedim, Value >::get_dof_indices ( const ElementAccessor< 3 > &  cell,
std::vector< LongIdx > &  indices 
) const

TODO: Temporary solution. Fix problem with merge new DOF handler and boundary Mesh. Will be removed in future.

Definition at line 171 of file fe_value_handler.cc.

Here is the caller graph for this function:

template<int elemdim, int spacedim, class Value>
MappingP1<elemdim,3>* FEValueHandler< elemdim, spacedim, Value >::get_mapping ( )
inline

Return mapping object.

Definition at line 62 of file fe_value_handler.hh.

Here is the caller graph for this function:

template<int elemdim, int spacedim, class Value >
void FEValueHandler< elemdim, spacedim, Value >::initialize ( FEValueInitData  init_data)

Initialize data members.

Definition at line 94 of file fe_value_handler.cc.

Here is the caller graph for this function:

template<int elemdim, int spacedim, class Value>
void FEValueHandler< elemdim, spacedim, Value >::set_boundary_dofs_vector ( std::shared_ptr< std::vector< LongIdx > >  boundary_dofs)
inline

TODO: Temporary solution. Fix problem with merge new DOF handler and boundary Mesh. Will be removed in future.

Definition at line 79 of file fe_value_handler.hh.

Here is the caller graph for this function:

template<int elemdim, int spacedim, class Value >
Value::return_type const & FEValueHandler< elemdim, spacedim, Value >::value ( const Point p,
const ElementAccessor< spacedim > &  elm 
)
inline

Returns one value in one given point.

Definition at line 111 of file fe_value_handler.cc.

Here is the caller graph for this function:

template<int elemdim, int spacedim, class Value>
void FEValueHandler< elemdim, spacedim, Value >::value_list ( const std::vector< Point > &  point_list,
const ElementAccessor< spacedim > &  elm,
std::vector< typename Value::return_type > &  value_list 
)

Returns std::vector of scalar values in several points at once.

Definition at line 124 of file fe_value_handler.cc.

Here is the caller graph for this function:

Member Data Documentation

template<int elemdim, int spacedim, class Value>
std::shared_ptr< std::vector<LongIdx> > FEValueHandler< elemdim, spacedim, Value >::boundary_dofs_
private

Hold dofs of boundary elements.

TODO: Temporary solution. Fix problem with merge new DOF handler and boundary Mesh. Will be removed in future.

Definition at line 105 of file fe_value_handler.hh.

template<int elemdim, int spacedim, class Value>
unsigned int FEValueHandler< elemdim, spacedim, Value >::comp_index_
private

Index of component (of vector_value/tensor_value)

Definition at line 98 of file fe_value_handler.hh.

template<int elemdim, int spacedim, class Value>
VectorMPI FEValueHandler< elemdim, spacedim, Value >::data_vec_
private

Store data of Field.

Definition at line 89 of file fe_value_handler.hh.

template<int elemdim, int spacedim, class Value>
std::shared_ptr<DOFHandlerMultiDim> FEValueHandler< elemdim, spacedim, Value >::dh_
private

DOF handler object.

Definition at line 87 of file fe_value_handler.hh.

template<int elemdim, int spacedim, class Value>
std::vector<LongIdx> FEValueHandler< elemdim, spacedim, Value >::dof_indices
private

Array of indexes to data_vec_, used for get/set values.

Definition at line 91 of file fe_value_handler.hh.

template<int elemdim, int spacedim, class Value>
MappingP1<elemdim,3>* FEValueHandler< elemdim, spacedim, Value >::map_
private

Mapping object.

Definition at line 96 of file fe_value_handler.hh.

template<int elemdim, int spacedim, class Value>
Value::return_type FEValueHandler< elemdim, spacedim, Value >::r_value_
private

Definition at line 94 of file fe_value_handler.hh.

template<int elemdim, int spacedim, class Value>
Value FEValueHandler< elemdim, spacedim, Value >::value_
private

Last value, prevents passing large values (vectors) by value.

Definition at line 93 of file fe_value_handler.hh.


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