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::fem::Lagrange< N, RealDim, O, PolySetType, ContinuityType, T, Convex, Pts, TheTAG > Class Template Reference

#include <lagrange.hpp>

Detailed Description

template<uint16_type N, uint16_type RealDim, uint16_type O, template< uint16_type Dim > class PolySetType, typename ContinuityType = Continuous, typename T = double, template< uint16_type, uint16_type, uint16_type > class Convex = Simplex, template< class, uint16_type, class > class Pts = PointSetEquiSpaced, uint16_type TheTAG = 0>
class Feel::fem::Lagrange< N, RealDim, O, PolySetType, ContinuityType, T, Convex, Pts, TheTAG >

Lagrange polynomial set.

The Lagrange polynomial set is parametrized by

  1. dimension of the geometrical space
  2. order of the Lagrange polynomials
  3. the numerical type
  4. the geometry it applies to (convexes such as simplices or product of simplices)
Author
Christophe Prud'homme
See Also
+ Inheritance diagram for Feel::fem::Lagrange< N, RealDim, O, PolySetType, ContinuityType, T, Convex, Pts, TheTAG >:

Public Member Functions

 BOOST_STATIC_ASSERT ((boost::is_same< PolySetType< N >, Scalar< N > >::value||boost::is_same< PolySetType< N >, Vectorial< N > >::value||boost::is_same< PolySetType< N >, Tensor2< N > >::value))
 
Constructors, destructor
 Lagrange ()
 
virtual ~Lagrange ()
 
Accessors
reference_convex_type const & referenceConvex () const
 
std::string familyName () const
 
- Public Member Functions inherited from Feel::FiniteElement< detail::OrthonormalPolynomialSet< N, O, RealDim, PolySetType, T, TheTAG, Convex >, details::LagrangeDual, Pts >
 FiniteElement (dual_space_type const &pdual)
 
 FiniteElement (FiniteElement const &fe)
 
 ~FiniteElement ()
 
self_typeoperator= (self_type const &fe)
 
value_type operator() (uint16_type i, ublas::vector_expression< AE > const &pt) const
 
value_type operator() (ublas::vector_expression< AE > const &pt) const
 
matrix_type operator() (points_type const &pts) const
 
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
 

Static Public Member Functions

Methods
template<typename ExprType >
static auto isomorphism (ExprType &expr) -> decltype(expr)
 

Typedefs

typedef super::value_type value_type
 
typedef super::primal_space_type primal_space_type
 
typedef super::dual_space_type dual_space_type
 
typedef ContinuityType continuity_type
 
typedef super::polyset_type polyset_type
 
typedef Lagrange< N, RealDim,
O, Scalar, continuity_type, T,
Convex, Pts, TheTAG > 
component_basis_type
 
typedef mpl::if_
< mpl::equal_to< mpl::int_
< nDim >, mpl::int_
< 1 > >, mpl::identity
< boost::none_t >
, mpl::identity< Lagrange< N-1,
RealDim, O, Scalar,
continuity_type, T, Convex,
Pts, TheTAG > > >::type::type 
face_basis_type
 
typedef boost::shared_ptr
< face_basis_type > 
face_basis_ptrtype
 
typedef
dual_space_type::convex_type 
convex_type
 
typedef
dual_space_type::pointset_type 
pointset_type
 
typedef
dual_space_type::reference_convex_type 
reference_convex_type
 
typedef
reference_convex_type::node_type 
node_type
 
typedef
reference_convex_type::points_type 
points_type
 
static const uint16_type nDim = N
 
static const uint16_type nRealDim = RealDim
 
static const uint16_type nOrder = O
 
static const bool isTransformationEquivalent = true
 
static const bool isContinuous = ContinuityType::is_continuous
 
static const uint16_type TAG = TheTAG
 
static const bool is_tensor2 = polyset_type::is_tensor2
 
static const bool is_vectorial = polyset_type::is_vectorial
 
static const bool is_scalar = polyset_type::is_scalar
 
static const uint16_type nComponents = polyset_type::nComponents
 
static const bool is_product = true
 
static const uint16_type numPoints = reference_convex_type::numPoints
 
static const uint16_type nbPtsPerVertex = reference_convex_type::nbPtsPerVertex
 
static const uint16_type nbPtsPerEdge = reference_convex_type::nbPtsPerEdge
 
static const uint16_type nbPtsPerFace = reference_convex_type::nbPtsPerFace
 
static const uint16_type nbPtsPerVolume = reference_convex_type::nbPtsPerVolume
 

Additional Inherited Members

- Public Types inherited from Feel::FiniteElement< detail::OrthonormalPolynomialSet< N, O, RealDim, PolySetType, T, TheTAG, Convex >, details::LagrangeDual, Pts >
typedef FiniteElement
< detail::OrthonormalPolynomialSet
< N, O, RealDim, PolySetType,
T, TheTAG, Convex >
, details::LagrangeDual, Pts > 
self_type
 
typedef
detail::OrthonormalPolynomialSet
< N, O, RealDim, PolySetType,
T, TheTAG, Convex >
::value_type 
value_type
 
typedef
detail::OrthonormalPolynomialSet
< N, O, RealDim, PolySetType,
T, TheTAG, Convex
primal_space_type
 
typedef
primal_space_type::polyset_type 
polyset_type
 
typedef details::LagrangeDual
< detail::OrthonormalPolynomialSet
< N, O, RealDim, PolySetType,
T, TheTAG, Convex >, 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 Public Attributes inherited from Feel::FiniteElement< detail::OrthonormalPolynomialSet< N, O, RealDim, PolySetType, T, TheTAG, Convex >, details::LagrangeDual, Pts >
static const bool is_modal
 
static const uint16_type nLocalDof
 Number of degrees of freedom per vertex.
 
static const uint16_type nDofPerVertex
 Number of degrees of freedom per edge.
 
static const uint16_type nDofPerEdge
 Number of degrees of freedom per face.
 
static const uint16_type nDofPerFace
 Number of degrees of freedom per volume.
 
static const uint16_type nDofPerVolume
 
static const uint16_type nDof
 
static const uint16_type nNodes
 
static const uint16_type nDofGrad
 
static const uint16_type nDofHess
 
static const
fem::transformation_type 
trans
 

Member Typedef Documentation

template<uint16_type N, uint16_type RealDim, uint16_type O, template< uint16_type Dim > class PolySetType, typename ContinuityType = Continuous, typename T = double, template< uint16_type, uint16_type, uint16_type > class Convex = Simplex, template< class, uint16_type, class > class Pts = PointSetEquiSpaced, uint16_type TheTAG = 0>
typedef super::polyset_type Feel::fem::Lagrange< N, RealDim, O, PolySetType, ContinuityType, T, Convex, Pts, TheTAG >::polyset_type

Polynomial Set type: scalar or vectorial

Member Function Documentation

template<uint16_type N, uint16_type RealDim, uint16_type O, template< uint16_type Dim > class PolySetType, typename ContinuityType = Continuous, typename T = double, template< uint16_type, uint16_type, uint16_type > class Convex = Simplex, template< class, uint16_type, class > class Pts = PointSetEquiSpaced, uint16_type TheTAG = 0>
std::string Feel::fem::Lagrange< N, RealDim, O, PolySetType, ContinuityType, T, Convex, Pts, TheTAG >::familyName ( ) const
inlinevirtual
template<uint16_type N, uint16_type RealDim, uint16_type O, template< uint16_type Dim > class PolySetType, typename ContinuityType = Continuous, typename T = double, template< uint16_type, uint16_type, uint16_type > class Convex = Simplex, template< class, uint16_type, class > class Pts = PointSetEquiSpaced, uint16_type TheTAG = 0>
reference_convex_type const& Feel::fem::Lagrange< N, RealDim, O, PolySetType, ContinuityType, T, Convex, Pts, TheTAG >::referenceConvex ( ) const
inline
Returns
the reference convex associated with the lagrange polynomials

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

Generated on Fri Oct 25 2013 14:24:34 for Feel++ by doxygen 1.8.4