27 template<
unsigned int dim,
unsigned int spacedim>
32 return fe_values_.shape_value_component(function_no, point_no, component_);
35 template<
unsigned int dim,
unsigned int spacedim>
40 return fe_values_.shape_grad_component(function_no, point_no, component_);
43 template<
unsigned int dim,
unsigned int spacedim>
45 {
return fe_values_; }
50 template<
unsigned int dim,
unsigned int spacedim>
55 arma::vec::fixed<spacedim> v;
56 for (
unsigned int c=0; c<spacedim; ++c)
57 v(c) = fe_values_.shape_value_component(function_no, point_no, first_vector_component_+c);
61 template<
unsigned int dim,
unsigned int spacedim>
66 arma::mat::fixed<spacedim,spacedim> g;
67 for (
unsigned int c=0; c<spacedim; ++c)
68 g.col(c) = fe_values_.shape_grad_component(function_no, point_no, first_vector_component_+c);
72 template<
unsigned int dim,
unsigned int spacedim>
77 arma::mat::fixed<spacedim,spacedim> g = grad(function_no, point_no);
78 return 0.5*(g+trans(g));
81 template<
unsigned int dim,
unsigned int spacedim>
87 for (
unsigned int c=0; c<spacedim; ++c)
88 div += fe_values_.shape_grad_component(function_no, point_no, first_vector_component_+c)(first_vector_component_+c);
92 template<
unsigned int dim,
unsigned int spacedim>
94 {
return fe_values_; }
98 template<
unsigned int dim,
unsigned int spacedim>
103 arma::mat::fixed<spacedim,spacedim> v;
104 for (
unsigned int c=0; c<spacedim*spacedim; ++c)
105 v(c/spacedim,c%spacedim) = fe_values_.shape_value_component(function_no, point_no, first_tensor_component_+c);
109 template<
unsigned int dim,
unsigned int spacedim>
111 unsigned int variable_no,
112 unsigned int function_no,
113 unsigned int point_no)
const 118 arma::mat::fixed<spacedim,spacedim> g;
119 for (
unsigned int c=0; c<spacedim*spacedim; ++c)
120 g(c/spacedim,c%spacedim) = fe_values_.shape_grad_component(function_no, point_no, first_tensor_component_+c)[first_tensor_component_+variable_no];
124 template<
unsigned int dim,
unsigned int spacedim>
129 arma::vec::fixed<spacedim> div;
131 for (
unsigned int c=0; c<spacedim*spacedim; ++c)
132 div(c%spacedim) += fe_values_.shape_grad_component(function_no, point_no, first_tensor_component_+c)[first_tensor_component_+c/spacedim];
136 template<
unsigned int dim,
unsigned int spacedim>
138 {
return fe_values_; }
arma::vec::fixed< spacedim > divergence(unsigned int function_no, unsigned int point_no) const
Return divergence of tensor-valued shape function.
FEValuesBase< dim, spacedim > & base() const
Returns the FEValuesBase class.
Class FEValues calculates finite element data on the actual cells such as shape function values...
double value(unsigned int function_no, unsigned int point_no) const
Return value of scalar shape function.
arma::mat::fixed< spacedim, spacedim > value(unsigned int function_no, unsigned int point_no) const
Return value of tensor-valued shape function.
arma::mat::fixed< spacedim, spacedim > grad(unsigned int function_no, unsigned int point_no) const
Return gradient of vector-valued shape function.
arma::mat::fixed< spacedim, spacedim > derivative(unsigned int variable_no, unsigned int function_no, unsigned int point_no) const
Return partial derivative of tensor-valued shape function.
Basic definitions of numerical quadrature rules.
FEValuesBase< dim, spacedim > & base() const
Returns the FEValuesBase class.
double divergence(unsigned int function_no, unsigned int point_no) const
Return divergence of vector-valued shape function.
arma::vec::fixed< spacedim > value(unsigned int function_no, unsigned int point_no) const
Return value of vector-valued shape function.
arma::vec::fixed< spacedim > grad(unsigned int function_no, unsigned int point_no) const
Return gradient of scalar shape function.
arma::mat::fixed< spacedim, spacedim > sym_grad(unsigned int function_no, unsigned int point_no) const
Return symmetric gradient of vector-valued shape function.
Abstract class for description of finite elements.
Base class for FEValues and FESideValues.
FEValuesBase< dim, spacedim > & base() const
Returns the FEValuesBase class.
#define ASSERT_LT_DBG(a, b)
Definition of comparative assert macro (Less Than) only for debug mode.