Flow123d
release_3.0.0-1210-g1d9e2bd
|
Base class for FEValues and FESideValues. More...
#include <fe_values.hh>
Classes | |
struct | ViewsCache |
Public Member Functions | |
FEValuesBase () | |
Default constructor. More... | |
virtual | ~FEValuesBase () |
void | allocate (Mapping< dim, spacedim > &_mapping, unsigned int n_points, FiniteElement< dim > &_fe, UpdateFlags flags) |
Allocates space for computed data. More... | |
UpdateFlags | update_each (UpdateFlags flags) |
Determine quantities to be recomputed on each cell. More... | |
double | shape_value (const unsigned int function_no, const unsigned int point_no) override |
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) override |
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... | |
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) override |
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... | |
vector< arma::vec::fixed< spacedim > > & | point_list () |
Return coordinates of all quadrature points in the actual cell system. More... | |
arma::vec::fixed< spacedim > | normal_vector (unsigned int point_no) override |
Returns the normal vector to a side at given quadrature point. More... | |
const FEValuesViews::Scalar< dim, spacedim > & | scalar_view (unsigned int i) const |
Accessor to scalar values of multicomponent FE. More... | |
const FEValuesViews::Vector< dim, spacedim > & | vector_view (unsigned int i) const |
Accessor to vector values of multicomponent FE. More... | |
const FEValuesViews::Tensor< dim, spacedim > & | tensor_view (unsigned int i) const |
Accessor to tensor values of multicomponent FE. More... | |
unsigned int | n_points () |
Returns the number of quadrature points. More... | |
unsigned int | n_dofs () override |
Returns the number of shape functions. More... | |
virtual const Quadrature * | get_quadrature () const =0 |
Returns the quadrature in use. More... | |
FiniteElement< dim > * | get_fe () const |
Returns the finite element in use. More... | |
Mapping< dim, spacedim > * | get_mapping () const |
Returns the mapping in use. More... | |
Public Member Functions inherited from FEValuesSpaceBase< spacedim > | |
virtual | ~FEValuesSpaceBase () |
Protected Member Functions | |
FEInternalData * | init_fe_data (const Quadrature *q) |
Precompute finite element data on reference element. More... | |
void | fill_data (const FEInternalData &fe_data) |
Computes the shape function values and gradients on the actual cell and fills the FEValues structure. More... | |
void | fill_scalar_data (const FEInternalData &fe_data) |
Compute shape functions and gradients on the actual cell for scalar FE. More... | |
void | fill_vec_data (const FEInternalData &fe_data) |
Compute shape functions and gradients on the actual cell for vectorial FE. More... | |
void | fill_vec_contravariant_data (const FEInternalData &fe_data) |
Compute shape functions and gradients on the actual cell for vectorial FE. More... | |
void | fill_vec_piola_data (const FEInternalData &fe_data) |
Compute shape functions and gradients on the actual cell for Raviart-Thomas FE. More... | |
void | fill_tensor_data (const FEInternalData &fe_data) |
Compute shape functions and gradients on the actual cell for tensorial FE. More... | |
void | fill_system_data (const FEInternalData &fe_data) |
Compute shape functions and gradients on the actual cell for mixed system of FE. More... | |
Protected Attributes | |
Mapping< dim, spacedim > * | mapping |
The mapping from the reference cell to the actual cell. More... | |
unsigned int | n_points_ |
Number of integration points. More... | |
FiniteElement< dim > * | fe |
The used finite element. More... | |
MappingInternalData * | mapping_data |
Precomputed mapping data. More... | |
FEInternalData * | fe_data |
Precomputed finite element data. More... | |
FEValuesData< dim, spacedim > | data |
Data computed by the mapping and finite element. More... | |
std::vector< std::shared_ptr< FEValuesBase< dim, spacedim > > > | 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... | |
Base class for FEValues and FESideValues.
Definition at line 37 of file fe_values.hh.
FEValuesBase< dim, spacedim >::FEValuesBase | ( | ) |
Default constructor.
Definition at line 141 of file fe_values.cc.
|
virtual |
Correct deallocation of objects created by 'initialize' methods.
Definition at line 149 of file fe_values.cc.
void FEValuesBase< dim, spacedim >::allocate | ( | Mapping< dim, spacedim > & | _mapping, |
unsigned int | n_points, | ||
FiniteElement< dim > & | _fe, | ||
UpdateFlags | flags | ||
) |
Allocates space for computed data.
_mapping | The mapping between reference and actual cell. |
_quadrature | The quadrature rule. |
_fe | The finite element. |
flags | The update flags. |
Definition at line 157 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 324 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 479 of file fe_values.cc.
|
protected |
Compute shape functions and gradients on the actual cell for scalar FE.
Definition at line 271 of file fe_values.cc.
|
protected |
Compute shape functions and gradients on the actual cell for mixed system of FE.
Definition at line 415 of file fe_values.cc.
|
protected |
Compute shape functions and gradients on the actual cell for tensorial FE.
Definition at line 384 of file fe_values.cc.
|
protected |
Compute shape functions and gradients on the actual cell for vectorial FE.
Definition at line 321 of file fe_values.cc.
|
protected |
Compute shape functions and gradients on the actual cell for vectorial FE.
Definition at line 290 of file fe_values.cc.
|
protected |
Compute shape functions and gradients on the actual cell for Raviart-Thomas FE.
Definition at line 352 of file fe_values.cc.
|
inline |
Returns the finite element in use.
Definition at line 427 of file fe_values.hh.
|
inline |
Returns the mapping in use.
Definition at line 435 of file fe_values.hh.
|
pure virtual |
Returns the quadrature in use.
Implemented in FESideValues< dim, spacedim >, FESideValues< dim+1, 3 >, FEValues< dim, spacedim >, and FEValues< dim, 3 >.
|
protected |
Precompute finite element data on reference element.
Definition at line 184 of file fe_values.cc.
|
inlineoverridevirtual |
Return the product of Jacobian determinant and the quadrature weight at given quadrature point.
point_no | Number of the quadrature point. |
Implements FEValuesSpaceBase< spacedim >.
Definition at line 336 of file fe_values.hh.
|
inlineoverridevirtual |
Returns the number of shape functions.
Implements FEValuesSpaceBase< spacedim >.
Definition at line 413 of file fe_values.hh.
|
inline |
Returns the number of quadrature points.
Definition at line 407 of file fe_values.hh.
|
inlineoverridevirtual |
Returns the normal vector to a side at given quadrature point.
point_no | Number of the quadrature point. |
Implements FEValuesSpaceBase< spacedim >.
Definition at line 368 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 347 of file fe_values.hh.
|
inline |
Return coordinates of all quadrature points in the actual cell system.
Definition at line 357 of file fe_values.hh.
|
inline |
Accessor to scalar values of multicomponent FE.
i | Index of scalar component. |
Definition at line 378 of file fe_values.hh.
|
overridevirtual |
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. |
Implements FEValuesSpaceBase< spacedim >.
Definition at line 238 of file fe_values.cc.
arma::vec::fixed< spacedim > FEValuesBase< dim, 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 259 of file fe_values.cc.
|
overridevirtual |
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. |
Implements FEValuesSpaceBase< spacedim >.
Definition at line 229 of file fe_values.cc.
double FEValuesBase< dim, spacedim >::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.
For vectorial finite elements.
function_no | Number of the shape function. |
point_no | Number of the quadrature point. |
Definition at line 247 of file fe_values.cc.
|
inline |
Accessor to tensor values of multicomponent FE.
i | Index of first tensor component. |
Definition at line 398 of file fe_values.hh.
UpdateFlags FEValuesBase< dim, spacedim >::update_each | ( | UpdateFlags | flags | ) |
Determine quantities to be recomputed on each cell.
flags | Flags that indicate what has to be recomputed. |
Definition at line 220 of file fe_values.cc.
|
inline |
Accessor to vector values of multicomponent FE.
i | Index of first vector component. |
Definition at line 388 of file fe_values.hh.
|
protected |
Data computed by the mapping and finite element.
Definition at line 498 of file fe_values.hh.
|
protected |
The used finite element.
Definition at line 483 of file fe_values.hh.
|
protected |
Precomputed finite element data.
Definition at line 493 of file fe_values.hh.
|
protected |
Vector of FEValues for sub-elements of FESystem.
Definition at line 501 of file fe_values.hh.
|
protected |
The mapping from the reference cell to the actual cell.
Definition at line 475 of file fe_values.hh.
|
protected |
Precomputed mapping data.
Definition at line 488 of file fe_values.hh.
|
protected |
Number of components of the FE.
Definition at line 504 of file fe_values.hh.
|
protected |
Number of integration points.
Definition at line 478 of file fe_values.hh.
|
protected |
Auxiliary storage of FEValuesViews accessors.
Definition at line 507 of file fe_values.hh.