Flow123d  release_2.2.0-37-g336ee74
Public Member Functions | Private Attributes | List of all members
FE_P< degree, dim, spacedim > Class Template Reference

Conforming Lagrangean finite element on dim dimensional simplex. More...

#include <fe_p.hh>

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

Public Member Functions

 FE_P ()
 Constructor. More...
 
double basis_value (const unsigned int i, const arma::vec::fixed< dim > &p) const
 Returns the ith basis function evaluated at the point p. More...
 
arma::vec::fixed< dim > basis_grad (const unsigned int i, const arma::vec::fixed< dim > &p) const
 Returns the gradient of the ith basis function at the point p. More...
 
arma::vec::fixed< dim > basis_vector (const unsigned int i, const arma::vec::fixed< dim > &p) const
 The vector variant of basis_value must be implemented but may not be used. More...
 
arma::mat::fixed< dim, dim > basis_grad_vector (const unsigned int i, const arma::vec::fixed< dim > &p) const
 The vector variant of basis_grad must be implemented but may not be used. More...
 
virtual ~FE_P ()
 
- Public Member Functions inherited from FiniteElement< dim, spacedim >
 FiniteElement ()
 Constructor. More...
 
void init ()
 Clears all internal structures. More...
 
const unsigned int n_dofs () const
 Returns the number of degrees of freedom needed by the finite element. More...
 
const unsigned int n_object_dofs (unsigned int object_dim, DofMultiplicity multiplicity)
 Returns the number of single dofs/dof pairs/triples/sextuples that lie on a single geometric entity of the dimension object_dim. More...
 
virtual void compute_node_matrix ()
 Initializes the node_matrix for computing the coefficients of the raw basis functions from values at support points. More...
 
virtual FEInternalDatainitialize (const Quadrature< dim > &q, UpdateFlags flags)
 Calculates the data on the reference cell. More...
 
virtual UpdateFlags update_each (UpdateFlags flags)
 Decides which additional quantities have to be computed for each cell. More...
 
virtual void fill_fe_values (const Quadrature< dim > &q, FEInternalData &data, FEValuesData< dim, spacedim > &fv_data)
 Computes the shape function values and gradients on the actual cell and fills the FEValues structure. More...
 
virtual const unsigned int polynomial_order () const
 Returns the maximum degree of space of polynomials contained in the finite element space. More...
 
const bool is_scalar () const
 Indicates whether the finite element function space is scalar or vectorial. More...
 
const std::vector< arma::vec::fixed< dim > > & get_generalized_support_points ()
 Returns either the generalized support points (if they are defined) or the unit support points. More...
 
virtual ~FiniteElement ()
 Destructor. More...
 

Private Attributes

PolynomialSpace< degree, dim > poly_space
 The auxiliary polynomial space. More...
 
DofDistribution< degree, dim > dof_distribution
 The auxiliary dof distribution. More...
 

Additional Inherited Members

- Protected Attributes inherited from FiniteElement< dim, spacedim >
unsigned int number_of_dofs
 Total number of degrees of freedom at one finite element. More...
 
unsigned int number_of_single_dofs [dim+1]
 Number of single dofs at one geometrical entity of the given dimension (point, line, triangle, tetrahedron). More...
 
unsigned int number_of_pairs [dim+1]
 Number of pairs of dofs at one geometrical entity of the given dimension (applicable to lines and triangles). More...
 
unsigned int number_of_triples [dim+1]
 Number of triples of dofs associated to one triangle. More...
 
unsigned int number_of_sextuples [dim+1]
 Number of sextuples of dofs associated to one triangle. More...
 
unsigned int order
 Polynomial order - to be possibly used in hp methods. More...
 
bool is_scalar_fe
 Indicator of scalar versus vectorial finite element. More...
 
arma::mat node_matrix
 Matrix that determines the coefficients of the raw basis functions from the values at the support points. More...
 
std::vector< arma::vec::fixed< dim > > unit_support_points
 Support points for Lagrangean finite elements. More...
 
std::vector< arma::vec::fixed< dim > > generalized_support_points
 Support points for non-Lagrangean finite elements. More...
 

Detailed Description

template<unsigned int degree, unsigned int dim, unsigned int spacedim>
class FE_P< degree, dim, spacedim >

Conforming Lagrangean finite element on dim dimensional simplex.

The finite element functions are continuous across the interfaces.

Definition at line 145 of file fe_p.hh.

Constructor & Destructor Documentation

template<unsigned int degree, unsigned int dim, unsigned int spacedim>
FE_P< degree, dim, spacedim >::FE_P ( )

Constructor.

Definition at line 336 of file fe_p.hh.

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

Definition at line 388 of file fe_p.hh.

Member Function Documentation

template<unsigned int degree, unsigned int dim, unsigned int spacedim>
arma::vec::fixed< dim > FE_P< degree, dim, spacedim >::basis_grad ( const unsigned int  i,
const arma::vec::fixed< dim > &  p 
) const
virtual

Returns the gradient of the ith basis function at the point p.

Parameters
iNumber of the basis function.
pPoint of evaluation.

Implements FiniteElement< dim, spacedim >.

Definition at line 369 of file fe_p.hh.

template<unsigned int degree, unsigned int dim, unsigned int spacedim>
arma::mat::fixed< dim, dim > FE_P< degree, dim, spacedim >::basis_grad_vector ( const unsigned int  i,
const arma::vec::fixed< dim > &  p 
) const
virtual

The vector variant of basis_grad must be implemented but may not be used.

Implements FiniteElement< dim, spacedim >.

Definition at line 382 of file fe_p.hh.

template<unsigned int degree, unsigned int dim, unsigned int spacedim>
double FE_P< degree, dim, spacedim >::basis_value ( const unsigned int  i,
const arma::vec::fixed< dim > &  p 
) const
virtual

Returns the ith basis function evaluated at the point p.

Parameters
iNumber of the basis function.
pPoint of evaluation.

Implements FiniteElement< dim, spacedim >.

Definition at line 362 of file fe_p.hh.

template<unsigned int degree, unsigned int dim, unsigned int spacedim>
arma::vec::fixed< dim > FE_P< degree, dim, spacedim >::basis_vector ( const unsigned int  i,
const arma::vec::fixed< dim > &  p 
) const
virtual

The vector variant of basis_value must be implemented but may not be used.

Implements FiniteElement< dim, spacedim >.

Definition at line 376 of file fe_p.hh.

Member Data Documentation

template<unsigned int degree, unsigned int dim, unsigned int spacedim>
DofDistribution<degree,dim> FE_P< degree, dim, spacedim >::dof_distribution
private

The auxiliary dof distribution.

Definition at line 191 of file fe_p.hh.

template<unsigned int degree, unsigned int dim, unsigned int spacedim>
PolynomialSpace<degree,dim> FE_P< degree, dim, spacedim >::poly_space
private

The auxiliary polynomial space.

Definition at line 188 of file fe_p.hh.


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