Public Member Functions | Static Private Member Functions

FE_FaceQ< dim, spacedim > Class Template Reference

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

List of all members.

Public Member Functions

 FE_FaceQ (unsigned int p)
virtual FiniteElement< dim,
spacedim > * 
clone () const
virtual std::string get_name () const
virtual bool has_support_on_face (const unsigned int shape_index, const unsigned int face_index) const

Static Private Member Functions

static std::vector< unsigned int > get_dpo_vector (const unsigned int deg)

Detailed Description

template<int dim, int spacedim = dim>
class FE_FaceQ< dim, spacedim >

A finite element, which is a tensor product polynomial on each face and undefined in the interior of the cells. The basis functions on the faces are from Polynomials::LagrangeEquidistant

This finite element is the trace space of FE_RaviartThomas on the faces and serves in hybridized methods.

Note:
Since these are only finite elements on faces, only FEFaceValues and FESubfaceValues will be able to extract reasonable values from any face polynomial. In order to make the use of FESystem simpler, FEValues objects will not fail using this finite element space, but all shape function values extracted will equal to zero.
Todo:
Polynomials::LagrangeEquidistant should be and will be replaced by Polynomials::LagrangeGaussLobatto as soon as such a polynomial set exists.
Author:
Guido Kanschat
Date:
2009, 2011

Definition at line 46 of file fe_face.h.


Constructor & Destructor Documentation

template<int dim, int spacedim = dim>
FE_FaceQ< dim, spacedim >::FE_FaceQ ( unsigned int  p)

Constructor for tensor product polynomials of degree p. The shape functions created using this constructor correspond to Legendre polynomials in each coordinate direction.


Member Function Documentation

template<int dim, int spacedim = dim>
virtual FiniteElement<dim,spacedim>* FE_FaceQ< dim, spacedim >::clone ( ) const [virtual]

A sort of virtual copy constructor. Some places in the library, for example the constructors of FESystem as well as the hp::FECollection class, need to make copied of finite elements without knowing their exact type. They do so through this function.

Implements FiniteElement< dim, spacedim >.

template<int dim, int spacedim = dim>
virtual std::string FE_FaceQ< dim, spacedim >::get_name ( ) const [virtual]

Return a string that uniquely identifies a finite element. This class returns FE_DGQ<dim>(degree) , with dim and degree replaced by appropriate values.

Implements FiniteElement< dim, spacedim >.

template<int dim, int spacedim = dim>
virtual bool FE_FaceQ< dim, spacedim >::has_support_on_face ( const unsigned int  shape_index,
const unsigned int  face_index 
) const [virtual]

Check for non-zero values on a face.

This function returns true, if the shape function shape_index has non-zero values on the face face_index.

Implementation of the interface in FiniteElement

Reimplemented from FiniteElement< dim, spacedim >.

template<int dim, int spacedim = dim>
static std::vector<unsigned int> FE_FaceQ< dim, spacedim >::get_dpo_vector ( const unsigned int  deg) [static, private]

Return vector with dofs per vertex, line, quad, hex.


The documentation for this class was generated from the following file:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines

deal.II documentation generated on Thu May 17 2012 20:05:30 by doxygen 1.7.3