Flow123d
DF_patch_fevalues-e45dfbd
|
#include <fe_values.hh>
Classes | |
class | FEInternalData |
Structure for storing the precomputed finite element data. More... | |
struct | ViewsCache |
Public Member Functions | |
FEValuesBase () | |
Default constructor with postponed initialization. More... | |
template<unsigned int DIM> | |
void | initialize (Quadrature &_quadrature, FiniteElement< DIM > &_fe, UpdateFlags _flags) |
Initialize structures and calculates cell-independent data. More... | |
template<unsigned int DIM> | |
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< FV, spacedim > & | scalar_view (unsigned int i) const |
Accessor to scalar values of multicomponent FE. More... | |
const FEValuesViews::Vector< FV, spacedim > & | vector_view (unsigned int i) const |
Accessor to vector values of multicomponent FE. More... | |
const FEValuesViews::Tensor< FV, spacedim > & | tensor_view (unsigned int i) const |
Accessor to tensor values of multicomponent FE. More... | |
template<class MapType > | |
void | fill_data_specialized (const ElementValues< spacedim > &elm_values, const typename FEValuesBase< FV, spacedim >::FEInternalData &fe_data) |
Protected Member Functions | |
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... | |
template<class MapType > | |
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... | |
virtual void | allocate_in (unsigned int)=0 |
Initialize vectors declared separately in descendants. More... | |
virtual void | initialize_in (Quadrature &, unsigned int)=0 |
Initialize ElementValues separately in descendants. More... | |
virtual void | init_fe_val_vec ()=0 |
Initialize fe_values_vec only in PatchFEValues. More... | |
template<unsigned int DIM> | |
std::shared_ptr< typename FEValuesBase< FV, spacedim >::FEInternalData > | init_fe_data (const FiniteElement< DIM > &fe, const Quadrature &q) |
Precompute finite element data on reference element. More... | |
Protected Attributes | |
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< FV > | 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... | |
FV * | fv_ |
Helper object, we need its for ViewsCache initialization. More... | |
Friends | |
class | MapScalar< FV, spacedim > |
class | MapPiola< FV, spacedim > |
class | MapContravariant< FV, spacedim > |
class | MapVector< FV, spacedim > |
class | MapTensor< FV, spacedim > |
class | MapSystem< FV, spacedim > |
Definition at line 60 of file fe_values.hh.
FEValuesBase< FV, spacedim >::FEValuesBase |
Default constructor with postponed initialization.
Definition at line 42 of file fe_values.cc.
void FEValuesBase< FV, spacedim >::allocate | ( | Quadrature & | _quadrature, |
FiniteElement< DIM > & | _fe, | ||
UpdateFlags | flags | ||
) |
Allocates space for computed data.
n_points | Number of quadrature points. |
_fe | The finite element. |
flags | The update flags. |
Definition at line 176 of file fe_values.cc.
|
protectedpure virtual |
Initialize vectors declared separately in descendants.
Implemented in PatchFEValues< spacedim >, PatchFEValues< 3 >, PatchFEValues< spacedim >, FEValues< spacedim >, and FEValues< 3 >.
|
inline |
Return dimension of reference space.
Definition at line 119 of file fe_values.hh.
|
protected |
Computes the shape function values and gradients on the actual cell and fills the FEValues structure.
fe_data | Precomputed finite element data. |
Definition at line 257 of file fe_values.cc.
|
protected |
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.
|
inline |
Definition at line 287 of file fe_values.cc.
|
protected |
Precompute finite element data on reference element.
Definition at line 221 of file fe_values.cc.
|
protectedpure virtual |
Initialize fe_values_vec
only in PatchFEValues.
Implemented in PatchFEValues< spacedim >, PatchFEValues< 3 >, PatchFEValues< spacedim >, FEValues< spacedim >, and FEValues< 3 >.
void FEValuesBase< FV, spacedim >::initialize | ( | Quadrature & | _quadrature, |
FiniteElement< DIM > & | _fe, | ||
UpdateFlags | _flags | ||
) |
Initialize structures and calculates cell-independent data.
_quadrature | The quadrature rule for the cell associated to given finite element or for the cell side. |
_fe | The finite element. |
_flags | The update flags. |
Definition at line 132 of file fe_values.cc.
|
protectedpure virtual |
Initialize ElementValues separately in descendants.
Implemented in PatchFEValues< spacedim >, PatchFEValues< 3 >, PatchFEValues< spacedim >, FEValues< spacedim >, and FEValues< 3 >.
|
inline |
Returns the number of shape functions.
Definition at line 113 of file fe_values.hh.
|
inline |
Returns the number of quadrature points.
Definition at line 107 of file fe_values.hh.
|
inline |
Accessor to scalar values of multicomponent FE.
i | Index of scalar component. |
Definition at line 126 of file fe_values.hh.
|
inline |
Accessor to tensor values of multicomponent FE.
i | Index of first tensor component. |
Definition at line 146 of file fe_values.hh.
|
inline |
Accessor to vector values of multicomponent FE.
i | Index of first vector component. |
Definition at line 136 of file fe_values.hh.
|
friend |
Definition at line 262 of file fe_values.hh.
|
friend |
Definition at line 262 of file fe_values.hh.
|
friend |
Definition at line 262 of file fe_values.hh.
|
friend |
Definition at line 262 of file fe_values.hh.
|
friend |
Definition at line 262 of file fe_values.hh.
|
friend |
Definition at line 262 of file fe_values.hh.
|
protected |
Dimension of reference space.
Definition at line 223 of file fe_values.hh.
|
protected |
Precomputed finite element data.
Definition at line 256 of file fe_values.hh.
|
protected |
Dof indices of FESystem sub-elements.
Definition at line 235 of file fe_values.hh.
|
protected |
Numbers of components of FESystem sub-elements in reference space.
Definition at line 238 of file fe_values.hh.
|
protected |
Numbers of components of FESystem sub-elements in real space.
Definition at line 241 of file fe_values.hh.
|
protected |
Type of finite element (scalar, vector, tensor).
Definition at line 232 of file fe_values.hh.
|
protected |
Vector of FEValues for sub-elements of FESystem.
Definition at line 247 of file fe_values.hh.
|
protected |
Helper object, we need its for ViewsCache initialization.
Definition at line 262 of file fe_values.hh.
|
protected |
Number of components of the FE.
Definition at line 250 of file fe_values.hh.
|
protected |
Number of finite element dofs.
Definition at line 229 of file fe_values.hh.
|
protected |
Number of integration points.
Definition at line 226 of file fe_values.hh.
|
protected |
Precomputed FE data (shape functions on reference element) for all side quadrature points.
Definition at line 259 of file fe_values.hh.
|
protected |
Flags that indicate which finite element quantities are to be computed.
Definition at line 244 of file fe_values.hh.
|
protected |
Auxiliary storage of FEValuesViews accessors.
Definition at line 253 of file fe_values.hh.