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

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, 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 Quadratureget_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

FEInternalDatainit_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...
 
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 141 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 149 of file fe_values.cc.

Member Function Documentation

template<unsigned int dim, unsigned int spacedim>
void FEValuesBase< dim, spacedim >::allocate ( Mapping< dim, spacedim > &  _mapping,
unsigned int  n_points,
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 157 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 479 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 271 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.

Definition at line 415 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 384 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 321 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 290 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 352 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 427 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 435 of file fe_values.hh.

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

Precompute finite element data on reference element.

Definition at line 184 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)
inlineoverridevirtual

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 ( )
inlineoverridevirtual

Returns the number of shape functions.

Implements FEValuesSpaceBase< spacedim >.

Definition at line 413 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)
inlineoverridevirtual

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 
)
overridevirtual

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 238 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 259 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 
)
overridevirtual

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 229 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 247 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 220 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 498 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 483 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 493 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 501 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 475 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 488 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 504 of file fe_values.hh.

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

Number of integration points.

Definition at line 478 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 507 of file fe_values.hh.


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