Flow123d  release_3.0.0-1026-ga6b0c21
Classes | Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
FEValuesBase< dim, spacedim > Class Template Reference

Base class for FEValues and FESideValues. More...

#include <fe_values.hh>

Inheritance diagram for FEValuesBase< dim, spacedim >:
Inheritance graph
[legend]
Collaboration diagram for FEValuesBase< dim, spacedim >:
Collaboration graph
[legend]

Classes

struct  ViewsCache
 

Public Member Functions

 FEValuesBase ()
 Default constructor. More...
 
virtual ~FEValuesBase ()
 
void allocate (Mapping< dim, spacedim > &_mapping, Quadrature< dim > &_quadrature, 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)
 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)
 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)
 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)
 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 ()
 Returns the number of shape functions. More...
 
Quadrature< dim > * get_quadrature () const
 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

FEInternalDatainit_fe_data (const Quadrature< dim > *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...
 
Quadrature< dim > * quadrature
 The quadrature rule used to calculate integrals. More...
 
FiniteElement< dim > * fe
 The used finite element. More...
 
MappingInternalDatamapping_data
 Precomputed mapping data. More...
 
FEInternalDatafe_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...
 

Detailed Description

template<unsigned int dim, unsigned int spacedim>
class FEValuesBase< dim, spacedim >

Base class for FEValues and FESideValues.

Definition at line 37 of file fe_values.hh.

Constructor & Destructor Documentation

template<unsigned int dim, unsigned int spacedim>
FEValuesBase< dim, spacedim >::FEValuesBase ( )

Default constructor.

Definition at line 123 of file fe_values.cc.

template<unsigned int dim, unsigned int spacedim>
FEValuesBase< dim, spacedim >::~FEValuesBase ( )
virtual

Correct deallocation of objects created by 'initialize' methods.

Definition at line 131 of file fe_values.cc.

Member Function Documentation

template<unsigned int dim, unsigned int spacedim>
void FEValuesBase< dim, spacedim >::allocate ( Mapping< dim, spacedim > &  _mapping,
Quadrature< dim > &  _quadrature,
FiniteElement< dim > &  _fe,
UpdateFlags  flags 
)

Allocates space for computed data.

Parameters
_mappingThe mapping between reference and actual cell.
_quadratureThe quadrature rule.
_feThe finite element.
flagsThe update flags.

Definition at line 139 of file fe_values.cc.

Here is the caller graph for this function:

template<unsigned int dim, unsigned int spacedim>
double FEValuesBase< dim, spacedim >::determinant ( const unsigned int  point_no)
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.

Parameters
point_noNumber of the quadrature point.

Definition at line 324 of file fe_values.hh.

template<unsigned int dim, unsigned int spacedim>
void FEValuesBase< dim, spacedim >::fill_data ( const FEInternalData fe_data)
protected

Computes the shape function values and gradients on the actual cell and fills the FEValues structure.

Parameters
fe_dataPrecomputed finite element data.

Definition at line 478 of file fe_values.cc.

Here is the caller graph for this function:

template<unsigned int dim, unsigned int spacedim>
void FEValuesBase< dim, spacedim >::fill_scalar_data ( const FEInternalData fe_data)
protected

Compute shape functions and gradients on the actual cell for scalar FE.

Definition at line 266 of file fe_values.cc.

Here is the caller graph for this function:

template<unsigned int dim, unsigned int spacedim>
void FEValuesBase< dim, spacedim >::fill_system_data ( const FEInternalData fe_data)
protected

Compute shape functions and gradients on the actual cell for mixed system of FE.

initialize gradients by zeros since we fill only some components

initialize gradients by zeros since we fill only some components

Definition at line 410 of file fe_values.cc.

Here is the caller graph for this function:

template<unsigned int dim, unsigned int spacedim>
void FEValuesBase< dim, spacedim >::fill_tensor_data ( const FEInternalData fe_data)
protected

Compute shape functions and gradients on the actual cell for tensorial FE.

Definition at line 379 of file fe_values.cc.

Here is the caller graph for this function:

template<unsigned int dim, unsigned int spacedim>
void FEValuesBase< dim, spacedim >::fill_vec_contravariant_data ( const FEInternalData fe_data)
protected

Compute shape functions and gradients on the actual cell for vectorial FE.

Definition at line 316 of file fe_values.cc.

Here is the caller graph for this function:

template<unsigned int dim, unsigned int spacedim>
void FEValuesBase< dim, spacedim >::fill_vec_data ( const FEInternalData fe_data)
protected

Compute shape functions and gradients on the actual cell for vectorial FE.

Definition at line 285 of file fe_values.cc.

Here is the caller graph for this function:

template<unsigned int dim, unsigned int spacedim>
void FEValuesBase< dim, spacedim >::fill_vec_piola_data ( const FEInternalData fe_data)
protected

Compute shape functions and gradients on the actual cell for Raviart-Thomas FE.

Definition at line 347 of file fe_values.cc.

Here is the caller graph for this function:

template<unsigned int dim, unsigned int spacedim>
FiniteElement<dim>* FEValuesBase< dim, spacedim >::get_fe ( ) const
inline

Returns the finite element in use.

Definition at line 432 of file fe_values.hh.

Here is the caller graph for this function:

template<unsigned int dim, unsigned int spacedim>
Mapping<dim,spacedim>* FEValuesBase< dim, spacedim >::get_mapping ( ) const
inline

Returns the mapping in use.

Definition at line 440 of file fe_values.hh.

template<unsigned int dim, unsigned int spacedim>
Quadrature<dim>* FEValuesBase< dim, spacedim >::get_quadrature ( ) const
inline

Returns the quadrature in use.

Definition at line 424 of file fe_values.hh.

template<unsigned int dim, unsigned int spacedim>
FEInternalData * FEValuesBase< dim, spacedim >::init_fe_data ( const Quadrature< dim > *  q)
protected

Precompute finite element data on reference element.

Definition at line 180 of file fe_values.cc.

Here is the caller graph for this function:

template<unsigned int dim, unsigned int spacedim>
double FEValuesBase< dim, spacedim >::JxW ( const unsigned int  point_no)
inlinevirtual

Return the product of Jacobian determinant and the quadrature weight at given quadrature point.

Parameters
point_noNumber of the quadrature point.

Implements FEValuesSpaceBase< spacedim >.

Definition at line 336 of file fe_values.hh.

Here is the caller graph for this function:

template<unsigned int dim, unsigned int spacedim>
unsigned int FEValuesBase< dim, spacedim >::n_dofs ( )
inlinevirtual

Returns the number of shape functions.

Implements FEValuesSpaceBase< spacedim >.

Definition at line 415 of file fe_values.hh.

template<unsigned int dim, unsigned int spacedim>
unsigned int FEValuesBase< dim, spacedim >::n_points ( )
inline

Returns the number of quadrature points.

Definition at line 407 of file fe_values.hh.

Here is the caller graph for this function:

template<unsigned int dim, unsigned int spacedim>
arma::vec::fixed<spacedim> FEValuesBase< dim, spacedim >::normal_vector ( unsigned int  point_no)
inlinevirtual

Returns the normal vector to a side at given quadrature point.

Parameters
point_noNumber of the quadrature point.

Implements FEValuesSpaceBase< spacedim >.

Definition at line 368 of file fe_values.hh.

Here is the caller graph for this function:

template<unsigned int dim, unsigned int spacedim>
arma::vec::fixed<spacedim> FEValuesBase< dim, spacedim >::point ( const unsigned int  point_no)
inline

Return coordinates of the quadrature point in the actual cell system.

Parameters
point_noNumber of the quadrature point.

Definition at line 347 of file fe_values.hh.

Here is the caller graph for this function:

template<unsigned int dim, unsigned int spacedim>
vector<arma::vec::fixed<spacedim> >& FEValuesBase< dim, spacedim >::point_list ( )
inline

Return coordinates of all quadrature points in the actual cell system.

Definition at line 357 of file fe_values.hh.

Here is the caller graph for this function:

template<unsigned int dim, unsigned int spacedim>
const FEValuesViews::Scalar<dim,spacedim>& FEValuesBase< dim, spacedim >::scalar_view ( unsigned int  i) const
inline

Accessor to scalar values of multicomponent FE.

Parameters
iIndex of scalar component.

Definition at line 378 of file fe_values.hh.

template<unsigned int dim, unsigned int spacedim>
arma::vec::fixed< spacedim > FEValuesBase< dim, spacedim >::shape_grad ( const unsigned int  function_no,
const unsigned int  point_no 
)
virtual

Return the gradient of the function_no-th shape function at the point_no-th quadrature point.

Parameters
function_noNumber of the shape function.
point_noNumber of the quadrature point.

Implements FEValuesSpaceBase< spacedim >.

Definition at line 233 of file fe_values.cc.

Here is the caller graph for this function:

template<unsigned int dim, unsigned int spacedim>
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.

Parameters
function_noNumber of the shape function.
point_noNumber of the quadrature point.

Definition at line 254 of file fe_values.cc.

template<unsigned int dim, unsigned int spacedim>
double FEValuesBase< dim, spacedim >::shape_value ( const unsigned int  function_no,
const unsigned int  point_no 
)
virtual

Return the value of the function_no-th shape function at the point_no-th quadrature point.

Parameters
function_noNumber of the shape function.
point_noNumber of the quadrature point.

Implements FEValuesSpaceBase< spacedim >.

Definition at line 224 of file fe_values.cc.

Here is the caller graph for this function:

template<unsigned int dim, unsigned int spacedim>
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.

Parameters
function_noNumber of the shape function.
point_noNumber of the quadrature point.

Definition at line 242 of file fe_values.cc.

Here is the caller graph for this function:

template<unsigned int dim, unsigned int spacedim>
const FEValuesViews::Tensor<dim,spacedim>& FEValuesBase< dim, spacedim >::tensor_view ( unsigned int  i) const
inline

Accessor to tensor values of multicomponent FE.

Parameters
iIndex of first tensor component.

Definition at line 398 of file fe_values.hh.

Here is the caller graph for this function:

template<unsigned int dim, unsigned int spacedim>
UpdateFlags FEValuesBase< dim, spacedim >::update_each ( UpdateFlags  flags)

Determine quantities to be recomputed on each cell.

Parameters
flagsFlags that indicate what has to be recomputed.

Definition at line 215 of file fe_values.cc.

Here is the caller graph for this function:

template<unsigned int dim, unsigned int spacedim>
const FEValuesViews::Vector<dim,spacedim>& FEValuesBase< dim, spacedim >::vector_view ( unsigned int  i) const
inline

Accessor to vector values of multicomponent FE.

Parameters
iIndex of first vector component.

Definition at line 388 of file fe_values.hh.

Here is the caller graph for this function:

Member Data Documentation

template<unsigned int dim, unsigned int spacedim>
FEValuesData<dim,spacedim> FEValuesBase< dim, spacedim >::data
protected

Data computed by the mapping and finite element.

Definition at line 505 of file fe_values.hh.

template<unsigned int dim, unsigned int spacedim>
FiniteElement<dim>* FEValuesBase< dim, spacedim >::fe
protected

The used finite element.

Definition at line 490 of file fe_values.hh.

template<unsigned int dim, unsigned int spacedim>
FEInternalData* FEValuesBase< dim, spacedim >::fe_data
protected

Precomputed finite element data.

Definition at line 500 of file fe_values.hh.

template<unsigned int dim, unsigned int spacedim>
std::vector<std::shared_ptr<FEValuesBase<dim,spacedim> > > FEValuesBase< dim, spacedim >::fe_values_vec
protected

Vector of FEValues for sub-elements of FESystem.

Definition at line 508 of file fe_values.hh.

template<unsigned int dim, unsigned int spacedim>
Mapping<dim,spacedim>* FEValuesBase< dim, spacedim >::mapping
protected

The mapping from the reference cell to the actual cell.

Definition at line 480 of file fe_values.hh.

template<unsigned int dim, unsigned int spacedim>
MappingInternalData* FEValuesBase< dim, spacedim >::mapping_data
protected

Precomputed mapping data.

Definition at line 495 of file fe_values.hh.

template<unsigned int dim, unsigned int spacedim>
unsigned int FEValuesBase< dim, spacedim >::n_components_
protected

Number of components of the FE.

Definition at line 511 of file fe_values.hh.

template<unsigned int dim, unsigned int spacedim>
Quadrature<dim>* FEValuesBase< dim, spacedim >::quadrature
protected

The quadrature rule used to calculate integrals.

Definition at line 485 of file fe_values.hh.

template<unsigned int dim, unsigned int spacedim>
ViewsCache FEValuesBase< dim, spacedim >::views_cache_
protected

Auxiliary storage of FEValuesViews accessors.

Definition at line 514 of file fe_values.hh.


The documentation for this class was generated from the following files: