Flow123d  release_3.0.0-1193-g9220a69
Public Member Functions | Private Attributes | List of all members
FESideValues< dim, spacedim > Class Template Reference

Calculates finite element data on a side. More...

#include <fe_values.hh>

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

Public Member Functions

 FESideValues (Mapping< dim, spacedim > &_mapping, Quadrature &_sub_quadrature, FiniteElement< dim > &_fe, UpdateFlags flags)
 Constructor. More...
 
virtual ~FESideValues ()
 Destructor. More...
 
void reinit (ElementAccessor< 3 > &cell, unsigned int sid)
 Update cell-dependent data (gradients, Jacobians etc.) More...
 
const Quadratureget_quadrature () const override
 Returns the quadrature in use. More...
 
- Public Member Functions inherited from FEValuesBase< dim, spacedim >
 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...
 
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 ()
 

Private Attributes

const Quadraturesub_quadrature
 Quadrature for the integration on the element sides. More...
 
std::vector< std::vector< Quadrature > > side_quadrature
 
MappingInternalDataside_mapping_data [RefElement< dim >::n_sides][RefElement< dim >::n_side_permutations]
 
FEInternalDataside_fe_data [RefElement< dim >::n_sides][RefElement< dim >::n_side_permutations]
 
unsigned int side_idx_
 Current side on which FESideValues was recomputed. More...
 
unsigned int side_perm_
 Permutation index of current side. More...
 

Additional Inherited Members

- Protected Member Functions inherited from FEValuesBase< dim, spacedim >
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 inherited from FEValuesBase< dim, spacedim >
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 FESideValues< dim, spacedim >

Calculates finite element data on a side.

FESideValues takes care of the calculation of finite element data on a side of the actual cell such as values of shape functions at quadrature points, gradients of shape functions, Jacobians of the mapping from the reference cell etc.

Parameters
dimDimension of the reference cell.
spacedimDimension of the Euclidean space where the actual cell lives.

Definition at line 582 of file fe_values.hh.

Constructor & Destructor Documentation

template<unsigned int dim, unsigned int spacedim>
FESideValues< dim, spacedim >::FESideValues ( Mapping< dim, spacedim > &  _mapping,
Quadrature _sub_quadrature,
FiniteElement< dim > &  _fe,
UpdateFlags  flags 
)

Constructor.

Initializes structures and calculates cell-independent data.

Parameters
_mappingThe mapping between the reference and actual cell.
_sub_quadratureThe quadrature rule on the side.
_feThe finite element.
flagsThe update flags.

Definition at line 564 of file fe_values.cc.

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

Destructor.

Definition at line 601 of file fe_values.cc.

Member Function Documentation

template<unsigned int dim, unsigned int spacedim>
const Quadrature* FESideValues< dim, spacedim >::get_quadrature ( ) const
inlineoverridevirtual

Returns the quadrature in use.

Implements FEValuesBase< dim, spacedim >.

Definition at line 615 of file fe_values.hh.

template<unsigned int dim, unsigned int spacedim>
void FESideValues< dim, spacedim >::reinit ( ElementAccessor< 3 > &  cell,
unsigned int  sid 
)

Update cell-dependent data (gradients, Jacobians etc.)

Parameters
cellThe actual cell.
sidNumber of the side of the cell.

Definition at line 615 of file fe_values.cc.

Here is the caller graph for this function:

Member Data Documentation

template<unsigned int dim, unsigned int spacedim>
FEInternalData* FESideValues< dim, spacedim >::side_fe_data[RefElement< dim >::n_sides][RefElement< dim >::n_side_permutations]
private

Definition at line 630 of file fe_values.hh.

template<unsigned int dim, unsigned int spacedim>
unsigned int FESideValues< dim, spacedim >::side_idx_
private

Current side on which FESideValues was recomputed.

Definition at line 633 of file fe_values.hh.

template<unsigned int dim, unsigned int spacedim>
MappingInternalData* FESideValues< dim, spacedim >::side_mapping_data[RefElement< dim >::n_sides][RefElement< dim >::n_side_permutations]
private

Definition at line 628 of file fe_values.hh.

template<unsigned int dim, unsigned int spacedim>
unsigned int FESideValues< dim, spacedim >::side_perm_
private

Permutation index of current side.

Definition at line 636 of file fe_values.hh.

template<unsigned int dim, unsigned int spacedim>
std::vector<std::vector<Quadrature> > FESideValues< dim, spacedim >::side_quadrature
private

Definition at line 626 of file fe_values.hh.

template<unsigned int dim, unsigned int spacedim>
const Quadrature* FESideValues< dim, spacedim >::sub_quadrature
private

Quadrature for the integration on the element sides.

Definition at line 624 of file fe_values.hh.


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