Flow123d
DF_patch_fevalues-8016b85
|
#include <fe_values.hh>
Classes | |
class | ElementFEData |
Public Member Functions | |
PatchFEValues (unsigned int max_size=0) | |
Constructor, set maximal number of elements on patch. More... | |
void | reinit (PatchElementsList patch_elements) |
Reinit data. More... | |
unsigned int | used_size () const |
unsigned int | max_size () const |
void | get_cell (const unsigned int patch_cell_idx) |
Set element that is selected for processing. Element is given by index on patch. More... | |
void | get_side (unsigned int patch_cell_idx, unsigned int side_idx) |
Set element and side that are selected for processing. Element is given by index on patch. 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 > | normal_vector (unsigned int point_no) |
Returns the normal vector to a side at given quadrature point. More... | |
Public Member Functions inherited from FEValuesBase< PatchFEValues< 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< PatchFEValues< 3 >, spacedim > & | scalar_view (unsigned int i) const |
Accessor to scalar values of multicomponent FE. More... | |
const FEValuesViews::Vector< PatchFEValues< 3 >, spacedim > & | vector_view (unsigned int i) const |
Accessor to vector values of multicomponent FE. More... | |
const FEValuesViews::Tensor< PatchFEValues< 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< PatchFEValues< 3 >, spacedim >::FEInternalData &fe_data) |
Protected Types | |
enum | MeshObjectType { ElementFE = 0 , SideFE = 1 } |
Protected Member Functions | |
void | resize (unsigned int max_size) |
Set size of ElementFEData. Important: Use only during the initialization of FESystem ! More... | |
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< PatchFEValues< 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< PatchFEValues< 3 >, spacedim >::FEInternalData > | init_fe_data (const FiniteElement< DIM > &fe, const Quadrature &q) |
Precompute finite element data on reference element. More... | |
Protected Attributes | |
unsigned int | patch_data_idx_ |
Patch index of processed element / side. More... | |
std::map< unsigned int, unsigned int > | element_patch_map_ |
Map of element patch indexes to element_data_. More... | |
std::vector< ElementFEData > | element_data_ |
Data of elements / sides on patch. More... | |
unsigned int | used_size_ |
Number of elements / sides on patch. Must be less or equal to size of element_data vector. More... | |
unsigned int | max_n_elem_ |
Maximal number of elements on patch. More... | |
MeshObjectType | object_type_ |
Distinguishes using of PatchFEValues for storing data of elements or sides. More... | |
Protected Attributes inherited from FEValuesBase< PatchFEValues< 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< PatchFEValues< 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... | |
PatchFEValues< 3 > * | fv_ |
Helper object, we need its for ViewsCache initialization. More... | |
Definition at line 498 of file fe_values.hh.
|
protected |
Enumerator | |
---|---|
ElementFE | |
SideFE |
Definition at line 643 of file fe_values.hh.
PatchFEValues< spacedim >::PatchFEValues | ( | unsigned int | max_size = 0 | ) |
Constructor, set maximal number of elements on patch.
|
overrideprotectedvirtual |
Implement FEValuesBase::allocate_in
.
Implements FEValuesBase< PatchFEValues< 3 >, 3 >.
|
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 610 of file fe_values.hh.
|
inline |
Set element that is selected for processing. Element is given by index on patch.
Definition at line 515 of file fe_values.hh.
|
inline |
Set element and side that are selected for processing. Element is given by index on patch.
Definition at line 520 of file fe_values.hh.
|
overrideprotectedvirtual |
Implement FEValuesBase::initialize_in
.
Implements FEValuesBase< PatchFEValues< 3 >, 3 >.
|
overrideprotectedvirtual |
Implement FEValuesBase::initialize_in
.
Implements FEValuesBase< PatchFEValues< 3 >, 3 >.
|
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 622 of file fe_values.hh.
|
inline |
|
inline |
Returns the normal vector to a side at given quadrature point.
point_no | Number of the quadrature point. |
Definition at line 635 of file fe_values.hh.
void PatchFEValues< spacedim >::reinit | ( | PatchElementsList | patch_elements | ) |
Reinit data.
|
inlineprotected |
Set size of ElementFEData. Important: Use only during the initialization of FESystem !
Definition at line 666 of file fe_values.hh.
|
inline |
Set shape gradient val
of the i_point
and i_func_comp
.
Definition at line 597 of file fe_values.hh.
|
inline |
Set shape value val
of the i_point
and i_func_comp
.
Definition at line 589 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 546 of file fe_values.hh.
arma::vec::fixed<spacedim> PatchFEValues< 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. |
|
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 531 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 562 of file fe_values.hh.
|
inline |
Definition at line 506 of file fe_values.hh.
|
friend |
Definition at line 695 of file fe_values.hh.
|
friend |
Definition at line 695 of file fe_values.hh.
|
friend |
Definition at line 695 of file fe_values.hh.
|
friend |
Definition at line 695 of file fe_values.hh.
|
friend |
Definition at line 695 of file fe_values.hh.
|
friend |
Definition at line 695 of file fe_values.hh.
|
protected |
Data of elements / sides on patch.
Definition at line 686 of file fe_values.hh.
|
protected |
Map of element patch indexes to element_data_.
Definition at line 683 of file fe_values.hh.
|
protected |
Maximal number of elements on patch.
Definition at line 692 of file fe_values.hh.
|
protected |
Distinguishes using of PatchFEValues for storing data of elements or sides.
Definition at line 695 of file fe_values.hh.
|
protected |
Patch index of processed element / side.
Definition at line 680 of file fe_values.hh.
|
protected |
Number of elements / sides on patch. Must be less or equal to size of element_data vector.
Definition at line 689 of file fe_values.hh.