Logo  0.95.0-final
Finite Element Embedded Library and Language in C++
Feel++ Feel++ on Github Feel++ community
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Feel::FiniteElement< P, PDual, Pts > Class Template Referenceabstract

#include <fe.hpp>

Detailed Description

template<typename P, template< class Pr, template< class, uint16_type, class > class Pt > class PDual, template< class, uint16_type, class > class Pts>
class Feel::FiniteElement< P, PDual, Pts >

Finite element following Ciarlet framework.

Author
Christophe Prud'homme
See Also

Inherits type< mpl::bool_< P::is_scalar >, mpl::identity< PolynomialSet< P, Scalar > >, mpl::identity< PolynomialSet< P, Vectorial > > >.

Public Member Functions

Constructors, destructor
 FiniteElement (dual_space_type const &pdual)
 
 FiniteElement (FiniteElement const &fe)
 
 ~FiniteElement ()
 
Operator overloads
self_typeoperator= (self_type const &fe)
 
template<typename AE >
value_type operator() (uint16_type i, ublas::vector_expression< AE > const &pt) const
 
template<typename AE >
value_type operator() (ublas::vector_expression< AE > const &pt) const
 
matrix_type operator() (points_type const &pts) const
 
Accessors
void domainShape () const
 
uint16_type nbPoints () const
 
primal_space_type const & primal () const
 
dual_space_type const & dual () const
 
points_type const & points () const
 
points_type const & points (uint16_type f) const
 
virtual std::string familyName () const =0
 

Typedefs

typedef FiniteElement< P,
PDual, Pts > 
self_type
 
typedef P::value_type value_type
 
typedef P primal_space_type
 
typedef
primal_space_type::polyset_type 
polyset_type
 
typedef PDual< P, Pts > dual_space_type
 
typedef super::matrix_type matrix_type
 
typedef super::points_type points_type
 
typedef super::self_type polynomialset_type
 
typedef super::polynomial_type polynomial_type
 
typedef super::polynomial_view_type polynomial_view_type
 Total number of degrees of freedom (equal to refEle::nDof)
 
static const bool is_modal = false
 
static const uint16_type nLocalDof = dual_space_type::nLocalDof
 Number of degrees of freedom per vertex.
 
static const uint16_type nDofPerVertex = dual_space_type::nDofPerVertex
 Number of degrees of freedom per edge.
 
static const uint16_type nDofPerEdge = dual_space_type::nDofPerEdge
 Number of degrees of freedom per face.
 
static const uint16_type nDofPerFace = dual_space_type::nDofPerFace
 Number of degrees of freedom per volume.
 
static const uint16_type nDofPerVolume = dual_space_type::nDofPerVolume
 
static const uint16_type nDof = nLocalDof
 
static const uint16_type nNodes = nDof
 
static const uint16_type nDofGrad = super::nDim*nDof
 
static const uint16_type nDofHess = super::nDim*super::nDim*nDof
 
static const
fem::transformation_type 
trans
 

Member Typedef Documentation

template<typename P, template< class Pr, template< class, uint16_type, class > class Pt > class PDual, template< class, uint16_type, class > class Pts>
typedef primal_space_type::polyset_type Feel::FiniteElement< P, PDual, Pts >::polyset_type

Polynomial Set type: scalar or vectorial

Member Function Documentation

template<typename P, template< class Pr, template< class, uint16_type, class > class Pt > class PDual, template< class, uint16_type, class > class Pts>
void Feel::FiniteElement< P, PDual, Pts >::domainShape ( ) const
inline
Returns
the domain shape of the finite element
template<typename P, template< class Pr, template< class, uint16_type, class > class Pt > class PDual, template< class, uint16_type, class > class Pts>
dual_space_type const& Feel::FiniteElement< P, PDual, Pts >::dual ( ) const
inline
Returns
the dual basis of the finite element
template<typename P, template< class Pr, template< class, uint16_type, class > class Pt > class PDual, template< class, uint16_type, class > class Pts>
virtual std::string Feel::FiniteElement< P, PDual, Pts >::familyName ( ) const
pure virtual
template<typename P, template< class Pr, template< class, uint16_type, class > class Pt > class PDual, template< class, uint16_type, class > class Pts>
uint16_type Feel::FiniteElement< P, PDual, Pts >::nbPoints ( ) const
inline
Returns
the number of points associated with FE
template<typename P, template< class Pr, template< class, uint16_type, class > class Pt > class PDual, template< class, uint16_type, class > class Pts>
points_type const& Feel::FiniteElement< P, PDual, Pts >::points ( ) const
inline
Returns
points associated with the lagrange finite element
template<typename P, template< class Pr, template< class, uint16_type, class > class Pt > class PDual, template< class, uint16_type, class > class Pts>
points_type const& Feel::FiniteElement< P, PDual, Pts >::points ( uint16_type  f) const
inline

get the points associated with the finite element on a face f if any

  • f face index
Returns
points associated with a face of the lagrange finite element
template<typename P, template< class Pr, template< class, uint16_type, class > class Pt > class PDual, template< class, uint16_type, class > class Pts>
primal_space_type const& Feel::FiniteElement< P, PDual, Pts >::primal ( ) const
inline
Returns
the polynomial set defining the finite element
the dual basis of the finite element

Member Data Documentation

template<typename P, template< class Pr, template< class, uint16_type, class > class Pt > class PDual, template< class, uint16_type, class > class Pts>
const fem::transformation_type Feel::FiniteElement< P, PDual, Pts >::trans
static
Initial value:
= ( fem::transformation_type )mpl::if_<mpl::and_<mpl::bool_<P::convex_type::is_simplex>,mpl::equal_to<mpl::int_<super::nOrder>, mpl::int_<1> > >,
mpl::int_<fem::LINEAR>,
mpl::int_<fem::NONLINEAR> >::type::value

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

Generated on Sun Oct 20 2013 08:25:07 for Feel++ by doxygen 1.8.4