Flow123d  3.9.0-c09ffe475
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...
 
const Value::return_type & value (const Point &p, const ElementAccessor< spacedim > &elm)
 Returns one value in one given point. More...
 
void value_list (const Armor::array &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< IntIdx > > boundary_dofs)
 TODO: Temporary solution. Fix problem with merge new DOF handler and boundary Mesh. Will be removed in future. More...
 
LocDofVec get_loc_dof_indices (unsigned int cell_idx) 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...
 
Value value_
 Last value, prevents passing large values (vectors) by value. More...
 
Value::return_type r_value_
 
unsigned int range_begin_
 Begin of dof range of actual component. More...
 
unsigned int range_end_
 End of dof range of actual component. More...
 
std::shared_ptr< FiniteElement< elemdim > > fe_
 Pointer to FiniteElement object used to computing values. More...
 
std::shared_ptr< std::vector< IntIdx > > 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 57 of file fe_value_handler.hh.

Member Typedef Documentation

◆ Point

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

Definition at line 60 of file fe_value_handler.hh.

Constructor & Destructor Documentation

◆ FEValueHandler()

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

Constructor.

Definition at line 87 of file fe_value_handler.cc.

◆ ~FEValueHandler()

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

Destructor.

Definition at line 205 of file fe_value_handler.cc.

Member Function Documentation

◆ compute_quadrature()

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 152 of file fe_value_handler.cc.

Here is the caller graph for this function:

◆ get_loc_dof_indices()

template<int elemdim, int spacedim, class Value >
LocDofVec FEValueHandler< elemdim, spacedim, Value >::get_loc_dof_indices ( unsigned int  cell_idx) const
inline

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

Definition at line 85 of file fe_value_handler.hh.

Here is the caller graph for this function:

◆ initialize()

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

Initialize data members.

Definition at line 93 of file fe_value_handler.cc.

Here is the caller graph for this function:

◆ set_boundary_dofs_vector()

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

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

Definition at line 80 of file fe_value_handler.hh.

Here is the caller graph for this function:

◆ value()

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

Returns one value in one given point.

Definition at line 108 of file fe_value_handler.cc.

Here is the caller graph for this function:

◆ value_list()

template<int elemdim, int spacedim, class Value >
void FEValueHandler< elemdim, spacedim, Value >::value_list ( const Armor::array 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 121 of file fe_value_handler.cc.

Here is the caller graph for this function:

Member Data Documentation

◆ boundary_dofs_

template<int elemdim, int spacedim, class Value >
std::shared_ptr< std::vector<IntIdx> > 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 113 of file fe_value_handler.hh.

◆ data_vec_

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

Store data of Field.

Definition at line 97 of file fe_value_handler.hh.

◆ dh_

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

DOF handler object.

Definition at line 95 of file fe_value_handler.hh.

◆ fe_

template<int elemdim, int spacedim, class Value >
std::shared_ptr<FiniteElement<elemdim> > FEValueHandler< elemdim, spacedim, Value >::fe_
private

Pointer to FiniteElement object used to computing values.

Definition at line 106 of file fe_value_handler.hh.

◆ r_value_

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

Definition at line 100 of file fe_value_handler.hh.

◆ range_begin_

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

Begin of dof range of actual component.

Definition at line 102 of file fe_value_handler.hh.

◆ range_end_

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

End of dof range of actual component.

Definition at line 104 of file fe_value_handler.hh.

◆ value_

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 99 of file fe_value_handler.hh.


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