Flow123d
DF_patch_fevalues-8016b85
|
Calculates finite element data on the actual cell. More...
#include <fe_values.hh>
Public Member Functions | |
FEValues () | |
Default constructor with postponed initialization. More... | |
template<unsigned int DIM> | |
FEValues (Quadrature &_quadrature, FiniteElement< DIM > &_fe, UpdateFlags _flags) | |
~FEValues () | |
Correct deallocation of objects created by 'initialize' methods. More... | |
void | reinit (const ElementAccessor< spacedim > &cell) |
Update cell-dependent data (gradients, Jacobians etc.) More... | |
void | reinit (const Side &cell_side) |
Update cell side-dependent FE data (values, gradients). More... | |
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. More... | |
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. More... | |
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. More... | |
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. More... | |
void | set_shape_value (unsigned int i_point, unsigned int i_func_comp, double val) |
void | set_shape_gradient (unsigned int i_point, unsigned int i_func_comp, arma::vec::fixed< spacedim > val) |
double | determinant (const unsigned int point_no) |
Return the relative volume change of the cell (Jacobian determinant). More... | |
double | JxW (const unsigned int point_no) |
Return the product of Jacobian determinant and the quadrature weight at given quadrature point. More... | |
arma::vec::fixed< spacedim > | point (const unsigned int point_no) |
Return coordinates of the quadrature point in the actual cell system. More... | |
const Armor::array & | point_list () const |
Return coordinates of all quadrature points in the actual cell system. More... | |
arma::vec::fixed< spacedim > | normal_vector (unsigned int point_no) |
Returns the normal vector to a side at given quadrature point. More... | |
Public Member Functions inherited from FEValuesBase< FEValues< 3 >, 3 > | |
FEValuesBase () | |
Default constructor with postponed initialization. More... | |
void | initialize (Quadrature &_quadrature, FiniteElement< DIM > &_fe, UpdateFlags _flags) |
Initialize structures and calculates cell-independent data. More... | |
void | allocate (Quadrature &_quadrature, FiniteElement< DIM > &_fe, UpdateFlags flags) |
Allocates space for computed data. More... | |
unsigned int | n_points () const |
Returns the number of quadrature points. More... | |
unsigned int | n_dofs () const |
Returns the number of shape functions. More... | |
unsigned int | dim () const |
Return dimension of reference space. More... | |
const FEValuesViews::Scalar< FEValues< 3 >, spacedim > & | scalar_view (unsigned int i) const |
Accessor to scalar values of multicomponent FE. More... | |
const FEValuesViews::Vector< FEValues< 3 >, spacedim > & | vector_view (unsigned int i) const |
Accessor to vector values of multicomponent FE. More... | |
const FEValuesViews::Tensor< FEValues< 3 >, spacedim > & | tensor_view (unsigned int i) const |
Accessor to tensor values of multicomponent FE. More... | |
void | fill_data_specialized (const ElementValues< spacedim > &elm_values, const typename FEValuesBase< FEValues< 3 >, spacedim >::FEInternalData &fe_data) |
Protected Member Functions | |
void | allocate_in (unsigned int q_dim) override |
Implement FEValuesBase::allocate_in . More... | |
void | initialize_in (Quadrature &q, unsigned int dim) override |
Implement FEValuesBase::initialize_in . More... | |
void | init_fe_val_vec () override |
Implement FEValuesBase::initialize_in . More... | |
Protected Member Functions inherited from FEValuesBase< FEValues< 3 >, 3 > | |
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. More... | |
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. Specialized variant of previous method for different FETypes given by template parameter. More... | |
std::shared_ptr< typename FEValuesBase< FEValues< 3 >, spacedim >::FEInternalData > | init_fe_data (const FiniteElement< DIM > &fe, const Quadrature &q) |
Precompute finite element data on reference element. More... | |
Protected Attributes | |
std::vector< std::vector< double > > | shape_values_ |
Shape functions evaluated at the quadrature points. More... | |
std::vector< std::vector< arma::vec::fixed< spacedim > > > | shape_gradients_ |
std::shared_ptr< ElementValues< spacedim > > | elm_values_ |
Auxiliary object for calculation of element-dependent data. More... | |
Protected Attributes inherited from FEValuesBase< FEValues< 3 >, 3 > | |
unsigned int | dim_ |
Dimension of reference space. More... | |
unsigned int | n_points_ |
Number of integration points. More... | |
unsigned int | n_dofs_ |
Number of finite element dofs. More... | |
FEType | fe_type_ |
Type of finite element (scalar, vector, tensor). More... | |
std::vector< std::vector< unsigned int > > | fe_sys_dofs_ |
Dof indices of FESystem sub-elements. More... | |
std::vector< unsigned int > | fe_sys_n_components_ |
Numbers of components of FESystem sub-elements in reference space. More... | |
std::vector< unsigned int > | fe_sys_n_space_components_ |
Numbers of components of FESystem sub-elements in real space. More... | |
UpdateFlags | update_flags |
Flags that indicate which finite element quantities are to be computed. More... | |
std::vector< FEValues< 3 > > | fe_values_vec |
Vector of FEValues for sub-elements of FESystem. More... | |
unsigned int | n_components_ |
Number of components of the FE. More... | |
ViewsCache | views_cache_ |
Auxiliary storage of FEValuesViews accessors. More... | |
std::shared_ptr< FEInternalData > | fe_data_ |
Precomputed finite element data. More... | |
std::vector< shared_ptr< FEInternalData > > | side_fe_data_ |
Precomputed FE data (shape functions on reference element) for all side quadrature points. More... | |
FEValues< 3 > * | fv_ |
Helper object, we need its for ViewsCache initialization. More... | |
Calculates finite element data on the actual cell.
FEValues takes care of the calculation of finite element data on the actual cell or on its side, (values of shape functions at quadrature points, gradients of shape functions, Jacobians of the mapping from the reference cell etc.).
spacedim | Dimension of the Euclidean space where the actual cell lives. |
Definition at line 287 of file fe_values.hh.
Default constructor with postponed initialization.
Definition at line 312 of file fe_values.cc.
|
inline |
Constructor with initialization of data structures (see initialize() for description of parameters).
Definition at line 297 of file fe_values.hh.
Correct deallocation of objects created by 'initialize' methods.
Definition at line 317 of file fe_values.cc.
|
overrideprotectedvirtual |
Implement FEValuesBase::allocate_in
.
Implements FEValuesBase< FEValues< 3 >, 3 >.
Definition at line 332 of file fe_values.cc.
|
inline |
Return the relative volume change of the cell (Jacobian determinant).
If dim_==spacedim then the sign may be negative, otherwise the result is a positive number.
point_no | Number of the quadrature point. |
Definition at line 409 of file fe_values.hh.
|
inlineoverrideprotectedvirtual |
Implement FEValuesBase::initialize_in
.
Implements FEValuesBase< FEValues< 3 >, 3 >.
Definition at line 471 of file fe_values.hh.
|
overrideprotectedvirtual |
Implement FEValuesBase::initialize_in
.
Implements FEValuesBase< FEValues< 3 >, 3 >.
Definition at line 322 of file fe_values.cc.
|
inline |
Return the product of Jacobian determinant and the quadrature weight at given quadrature point.
point_no | Number of the quadrature point. |
Definition at line 421 of file fe_values.hh.
|
inline |
Returns the normal vector to a side at given quadrature point.
point_no | Number of the quadrature point. |
Definition at line 455 of file fe_values.hh.
|
inline |
Return coordinates of the quadrature point in the actual cell system.
point_no | Number of the quadrature point. |
Definition at line 434 of file fe_values.hh.
|
inline |
Return coordinates of all quadrature points in the actual cell system.
Definition at line 444 of file fe_values.hh.
void FEValues< spacedim >::reinit | ( | const ElementAccessor< spacedim > & | cell | ) |
Update cell-dependent data (gradients, Jacobians etc.)
cell | The actual cell. |
Definition at line 563 of file fe_values.cc.
Update cell side-dependent FE data (values, gradients).
cell_side | Accessor to cell side. |
Definition at line 578 of file fe_values.cc.
|
inline |
Set shape gradient val
of the i_point
and i_func_comp
.
Definition at line 396 of file fe_values.hh.
|
inline |
Set shape value val
of the i_point
and i_func_comp
.
Definition at line 388 of file fe_values.hh.
|
inline |
Return the gradient of the function_no-th
shape function at the point_no-th
quadrature point.
function_no | Number of the shape function. |
point_no | Number of the quadrature point. |
Definition at line 346 of file fe_values.hh.
arma::vec::fixed< spacedim > FEValues< 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.
For vectorial finite elements.
function_no | Number of the shape function. |
point_no | Number of the quadrature point. |
Definition at line 346 of file fe_values.cc.
|
inline |
Return the value of the function_no-th
shape function at the point_no-th
quadrature point.
function_no | Number of the shape function. |
point_no | Number of the quadrature point. |
Definition at line 331 of file fe_values.hh.
|
inline |
Return the value of the function_no-th
shape function at the point_no-th
quadrature point.
For vectorial finite elements.
function_no | Number of the shape function. |
point_no | Number of the quadrature point. |
Definition at line 362 of file fe_values.hh.
|
friend |
Definition at line 482 of file fe_values.hh.
Definition at line 482 of file fe_values.hh.
Definition at line 482 of file fe_values.hh.
Definition at line 482 of file fe_values.hh.
Definition at line 482 of file fe_values.hh.
Definition at line 482 of file fe_values.hh.
|
protected |
Auxiliary object for calculation of element-dependent data.
Definition at line 482 of file fe_values.hh.
|
protected |
Gradients of shape functions evaluated at the quadrature points. Each row of the matrix contains the gradient of one shape function.
Definition at line 479 of file fe_values.hh.
|
protected |
Shape functions evaluated at the quadrature points.
Definition at line 475 of file fe_values.hh.