58 template<
unsigned int spacedim = 3>
70 template<
unsigned int DIM>
82 template<
unsigned int DIM>
103 template<
unsigned int DIM>
116 template<
unsigned int DIM>
142 double shape_value(
const unsigned int function_no,
const unsigned int point_no);
152 arma::vec::fixed<spacedim>
shape_grad(
const unsigned int function_no,
const unsigned int point_no);
164 const unsigned int point_no,
165 const unsigned int comp)
const;
177 const unsigned int point_no,
178 const unsigned int comp)
const;
200 inline double JxW(
const unsigned int point_no)
213 inline arma::vec::fixed<spacedim>
point(
const unsigned int point_no)
285 inline unsigned int dim()
const 301 unsigned int first_component_idx,
302 unsigned int ncomponents = 1);
334 template<
unsigned int DIM>
UpdateFlags
Enum type UpdateFlags indicates which quantities are to be recomputed on each finite element cell...
std::vector< std::vector< unsigned int > > fe_sys_dofs_
Dof indices of FESystem sub-elements.
const FEValuesViews::Vector< spacedim > & vector_view(unsigned int i) const
Accessor to vector values of multicomponent FE.
std::vector< std::vector< typename FEValues< spacedim >::FEInternalData * > > side_fe_data
Precomputed FE data (shape functions on reference element) for all sides and permuted quadrature poin...
vector< FEValuesViews::Tensor< spacedim > > tensors
arma::vec::fixed< spacedim > shape_grad(const unsigned int function_no, const unsigned int point_no)
Return the gradient of the function_no-th shape function at the point_no-th quadrature point...
~FEValues()
Correct deallocation of objects created by 'initialize' methods.
double determinant(const unsigned int point_no)
Return the relative volume change of the cell (Jacobian determinant).
FEValues(Quadrature &_quadrature, FiniteElement< DIM > &_fe, UpdateFlags _flags)
FEType fe_type_
Type of finite element (scalar, vector, tensor).
std::vector< std::vector< arma::vec::fixed< spacedim > > > shape_gradients
void fill_data(const ElementValues< spacedim > &elm_values, const FEInternalData &fe_data)
Computes the shape function values and gradients on the actual cell and fills the FEValues structure...
double shape_value_component(const unsigned int function_no, const unsigned int point_no, const unsigned int comp) const
Return the value of the function_no-th shape function at the point_no-th quadrature point...
unsigned int n_dofs() const
Returns the number of shape functions.
void fill_system_data(const ElementValues< spacedim > &elm_values, const FEInternalData &fe_data)
Compute shape functions and gradients on the actual cell for mixed system of FE.
Class ElementValues calculates data related to transformation of reference cell to actual cell (Jacob...
Class for computation of data on cell and side.
void fill_vec_data(const ElementValues< spacedim > &elm_values, const FEInternalData &fe_data)
Compute shape functions and gradients on the actual cell for vectorial FE.
const Armor::array & point_list() const
Return coordinates of all quadrature points in the actual cell system.
std::vector< FEValues< 3 > > mixed_fe_values(QGauss::array &quadrature, MixedPtr< FiniteElement > fe, UpdateFlags flags)
void initialize(const FEValues &fv, const FiniteElement< DIM > &fe)
void reinit(const ElementAccessor< spacedim > &cell)
Update cell-dependent data (gradients, Jacobians etc.)
void allocate(unsigned int n_points, FiniteElement< DIM > &_fe, UpdateFlags flags)
Allocates space for computed data.
Enum type UpdateFlags indicates which quantities are to be recomputed on each finite element cell...
vector< FEValuesViews::Scalar< spacedim > > scalars
double shape_value(const unsigned int function_no, const unsigned int point_no)
Return the value of the function_no-th shape function at the point_no-th quadrature point...
Base class for quadrature rules on simplices in arbitrary dimensions.
FEValues< spacedim >::FEInternalData * fe_data
Precomputed finite element data.
std::vector< unsigned int > fe_sys_n_space_components_
Numbers of components of FESystem sub-elements in real space.
UpdateFlags update_flags
Flags that indicate which finite element quantities are to be computed.
unsigned int n_points
Number of quadrature points.
arma::vec::fixed< spacedim > shape_grad_component(const unsigned int function_no, const unsigned int point_no, const unsigned int comp) const
Return the gradient of the function_no-th shape function at the point_no-th quadrature point...
unsigned int dim() const
Return dimension of reference space.
unsigned int n_points_
Number of integration points.
vector< FEValuesViews::Vector< spacedim > > vectors
std::vector< std::vector< arma::mat > > ref_shape_grads
Precomputed gradients of basis functions at the quadrature points.
const FEValuesViews::Tensor< spacedim > & tensor_view(unsigned int i) const
Accessor to tensor values of multicomponent FE.
unsigned int dim_
Dimension of reference space.
unsigned int n_dofs
Number of dofs (shape functions).
Structure for storing the precomputed finite element data.
FEInternalData * init_fe_data(const FiniteElement< DIM > &fe, const Quadrature &q)
Precompute finite element data on reference element.
void fill_vec_piola_data(const ElementValues< spacedim > &elm_values, const FEInternalData &fe_data)
Compute shape functions and gradients on the actual cell for Raviart-Thomas FE.
std::array< QGauss, 4 > array
void fill_vec_contravariant_data(const ElementValues< spacedim > &elm_values, const FEInternalData &fe_data)
Compute shape functions and gradients on the actual cell for vectorial FE.
ViewsCache views_cache_
Auxiliary storage of FEValuesViews accessors.
Definitions of particular quadrature rules on simplices.
Calculates finite element data on the actual cell.
Class RefElement defines numbering of vertices, sides, calculation of normal vectors etc...
unsigned int n_dofs_
Number of finite element dofs.
std::vector< unsigned int > fe_sys_n_components_
Numbers of components of FESystem sub-elements in reference space.
ElementValues< spacedim > * elm_values
Auxiliary object for calculation of element-dependent data.
Abstract class for the description of a general finite element on a reference simplex in dim dimensio...
double JxW(const unsigned int point_no)
Return the product of Jacobian determinant and the quadrature weight at given quadrature point...
unsigned int n_components_
Number of components of the FE.
std::vector< FEValues< spacedim > > fe_values_vec
Vector of FEValues for sub-elements of FESystem.
void fill_tensor_data(const ElementValues< spacedim > &elm_values, const FEInternalData &fe_data)
Compute shape functions and gradients on the actual cell for tensorial FE.
arma::vec::fixed< spacedim > point(const unsigned int point_no)
Return coordinates of the quadrature point in the actual cell system.
FEValues()
Default constructor with postponed initialization.
const FEValuesViews::Scalar< spacedim > & scalar_view(unsigned int i) const
Accessor to scalar values of multicomponent FE.
void fill_scalar_data(const ElementValues< spacedim > &elm_values, const FEInternalData &fe_data)
Compute shape functions and gradients on the actual cell for scalar FE.
unsigned int n_points() const
Returns the number of quadrature points.
std::vector< std::vector< arma::vec > > ref_shape_values
Precomputed values of basis functions at the quadrature points.
std::vector< std::vector< double > > shape_values
Shape functions evaluated at the quadrature points.
#define ASSERT_LT_DBG(a, b)
Definition of comparative assert macro (Less Than) only for debug mode.
arma::vec::fixed< spacedim > normal_vector(unsigned int point_no)
Returns the normal vector to a side at given quadrature point.