Go to the documentation of this file.
65 template<
unsigned int spacedim = 3>
77 template<
unsigned int DIM>
89 template<
unsigned int DIM>
110 template<
unsigned int DIM>
123 template<
unsigned int DIM>
149 inline double shape_value(
const unsigned int function_no,
const unsigned int point_no)
const
164 inline arma::vec::fixed<spacedim>
shape_grad(
const unsigned int function_no,
const unsigned int point_no)
const
181 const unsigned int point_no,
182 const unsigned int comp)
const
200 const unsigned int point_no,
201 const unsigned int comp)
const;
223 inline double JxW(
const unsigned int point_no)
236 inline arma::vec::fixed<spacedim>
point(
const unsigned int point_no)
308 inline unsigned int dim()
const
324 unsigned int first_component_idx,
325 unsigned int ncomponents = 1);
357 template<
unsigned int DIM>
373 template<
class MapType>
arma::vec::fixed< spacedim > point(const unsigned int point_no)
Return coordinates of the quadrature point in the actual cell system.
~FEValues()
Correct deallocation of objects created by 'initialize' methods.
std::vector< std::vector< double > > shape_values
Shape functions evaluated at the quadrature points.
Class RefElement defines numbering of vertices, sides, calculation of normal vectors etc.
Helper class allows update values and gradients of FEValues of FEVectorPiola type.
const FEValuesViews::Vector< spacedim > & vector_view(unsigned int i) const
Accessor to vector values of multicomponent FE.
unsigned int n_points() const
Returns the number of quadrature points.
arma::vec::fixed< spacedim > normal_vector(unsigned int point_no)
Returns the normal vector to a side at given quadrature point.
std::shared_ptr< ElementValues< spacedim > > elm_values
Auxiliary object for calculation of element-dependent data.
double JxW(const unsigned int point_no)
Return the product of Jacobian determinant and the quadrature weight at given quadrature point.
FEValues()
Default constructor with postponed initialization.
std::vector< FEValues< spacedim > > fe_values_vec
Vector of FEValues for sub-elements of FESystem.
std::vector< std::vector< unsigned int > > fe_sys_dofs_
Dof indices of FESystem sub-elements.
unsigned int dim() const
Return dimension of reference space.
unsigned int n_dofs_
Number of finite element dofs.
void initialize(Quadrature &_quadrature, FiniteElement< DIM > &_fe, UpdateFlags _flags)
Initialize structures and calculates cell-independent data.
vector< FEValuesViews::Tensor< spacedim > > tensors
void initialize(const FEValues &fv, const FiniteElement< DIM > &fe)
#define ASSERT_LT(a, b)
Definition of comparative assert macro (Less Than) only for debug mode.
Helper class allows update values and gradients of FEValues of FEVector type.
Calculates finite element data on the actual cell.
unsigned int dim_
Dimension of reference space.
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.
Structure for storing the precomputed finite element data.
unsigned int n_dofs() const
Returns the number of shape functions.
std::vector< shared_ptr< FEInternalData > > side_fe_data
Precomputed FE data (shape functions on reference element) for all side quadrature points.
Definitions of particular quadrature rules on simplices.
std::vector< std::vector< arma::mat > > ref_shape_grads
Precomputed gradients of basis functions at the quadrature points.
ViewsCache views_cache_
Auxiliary storage of FEValuesViews accessors.
Helper class allows update values and gradients of FEValues of FETensor type.
vector< FEValuesViews::Scalar< spacedim > > scalars
std::array< QGauss, 4 > array
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)
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.
Helper class allows update values and gradients of FEValues of FEMixedSystem type.
Abstract class for the description of a general finite element on a reference simplex in dim dimensio...
std::vector< unsigned int > fe_sys_n_space_components_
Numbers of components of FESystem sub-elements in real space.
Class for computation of data on cell and side.
UpdateFlags update_flags
Flags that indicate which finite element quantities are to be computed.
const FEValuesViews::Tensor< spacedim > & tensor_view(unsigned int i) const
Accessor to tensor values of multicomponent FE.
std::vector< std::vector< arma::vec > > ref_shape_values
Precomputed values of basis functions at the quadrature points.
unsigned int n_points_
Number of integration points.
std::vector< unsigned int > fe_sys_n_components_
Numbers of components of FESystem sub-elements in reference space.
std::vector< std::vector< arma::vec::fixed< spacedim > > > shape_gradients
Helper class allows update values and gradients of FEValues of FEScalar type.
Enum type UpdateFlags indicates which quantities are to be recomputed on each finite element cell.
unsigned int n_components_
Number of components of the FE.
void allocate(unsigned int n_points, FiniteElement< DIM > &_fe, UpdateFlags flags)
Allocates space for computed data.
const FEValuesViews::Scalar< spacedim > & scalar_view(unsigned int i) const
Accessor to scalar values of multicomponent FE.
vector< FEValuesViews::Vector< spacedim > > vectors
std::vector< FEValues< 3 > > mixed_fe_values(QGauss::array &quadrature, MixedPtr< FiniteElement > fe, UpdateFlags flags)
void fill_data_specialized(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(const unsigned int function_no, const unsigned int point_no) const
Return the value of the function_no-th shape function at the point_no-th quadrature point.
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.
Class ElementValues calculates data related to transformation of reference cell to actual cell (Jacob...
UpdateFlags
Enum type UpdateFlags indicates which quantities are to be recomputed on each finite element cell.
void reinit(const ElementAccessor< spacedim > &cell)
Update cell-dependent data (gradients, Jacobians etc.)
unsigned int n_dofs
Number of dofs (shape functions).
arma::vec::fixed< spacedim > shape_grad(const unsigned int function_no, const unsigned int point_no) const
Return the gradient of the function_no-th shape function at the point_no-th quadrature point.
std::shared_ptr< FEInternalData > fe_data
Precomputed finite element data.
Base class for quadrature rules on simplices in arbitrary dimensions.
std::shared_ptr< FEInternalData > init_fe_data(const FiniteElement< DIM > &fe, const Quadrature &q)
Precompute finite element data on reference element.
Helper class allows update values and gradients of FEValues of FEVectorContravariant type.
FEInternalData(unsigned int np, unsigned int nd)
unsigned int n_points
Number of quadrature points.
const Armor::array & point_list() const
Return coordinates of all quadrature points in the actual cell system.
FEType fe_type_
Type of finite element (scalar, vector, tensor).