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::Hermite< N, O, PolySetType, T, Convex, Pts > Class Template Reference

#include <hermite.hpp>

Detailed Description

template<uint16_type N, uint16_type O, template< uint16_type Dim > class PolySetType, typename T = double, template< uint16_type, uint16_type, uint16_type > class Convex = Simplex, template< class, uint16_type, class > class Pts = PointSetEquiSpaced>
class Feel::fem::Hermite< N, O, PolySetType, T, Convex, Pts >

Hermite polynomial set.

The Hermite polynomial set is parametrized by

  1. dimension of the geometrical space
  2. order of the Hermite 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::Hermite< N, O, PolySetType, T, Convex, Pts >:

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
 Hermite ()
 
virtual ~Hermite ()
 
Accessors
reference_convex_type const & referenceConvex () const
 
std::string familyName () const
 
- Public Member Functions inherited from Feel::FiniteElement< detail::OrthonormalPolynomialSet< N, N, O, PolySetType, T, Convex >, details::HermiteDual, 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 GMContext , typename PC , typename Phi , typename GPhi , typename HPhi >
static void transform (boost::shared_ptr< GMContext > gmc, boost::shared_ptr< PC > const &pc, Phi &phi_t, GPhi &g_phi_t, const bool do_gradient, HPhi &h_phi_t, const bool do_hessian)
 
template<typename GMContext , typename PC , typename Phi , typename GPhi , typename HPhi >
static void transform (GMContext const &gmc, PC const &pc, Phi &phi_t, GPhi &g_phi_t, const bool do_gradient, HPhi &h_phi_t, const bool do_hessian)
 

Typedefs

typedef super::value_type value_type
 
typedef super::primal_space_type primal_space_type
 
typedef super::dual_space_type dual_space_type
 
typedef Continuous continuity_type
 
typedef super::polyset_type polyset_type
 
typedef Hermite< N, O, Scalar,
T, Convex, Pts > 
component_basis_type
 
typedef mpl::if_
< mpl::equal_to< mpl::int_
< nDim >, mpl::int_
< 1 > >, mpl::identity
< boost::none_t >
, mpl::identity< Hermite< N-1,
O, Scalar, T, Convex, Pts >
> >::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 nOrder = O
 
static const bool isTransformationEquivalent = false
 
static const bool isContinuous = true
 
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 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
 
static const uint16_type nLocalDof = super::nLocalDof
 

Additional Inherited Members

- Public Types inherited from Feel::FiniteElement< detail::OrthonormalPolynomialSet< N, N, O, PolySetType, T, Convex >, details::HermiteDual, Pts >
typedef FiniteElement
< detail::OrthonormalPolynomialSet
< N, N, O, PolySetType, T,
Convex >, details::HermiteDual,
Pts > 
self_type
 
typedef
detail::OrthonormalPolynomialSet
< N, N, O, PolySetType, T,
Convex >::value_type 
value_type
 
typedef
detail::OrthonormalPolynomialSet
< N, N, O, PolySetType, T,
Convex
primal_space_type
 
typedef
primal_space_type::polyset_type 
polyset_type
 
typedef details::HermiteDual
< detail::OrthonormalPolynomialSet
< N, N, O, PolySetType, T,
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, N, O, PolySetType, T, Convex >, details::HermiteDual, 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 O, template< uint16_type Dim > class PolySetType, typename T = double, template< uint16_type, uint16_type, uint16_type > class Convex = Simplex, template< class, uint16_type, class > class Pts = PointSetEquiSpaced>
typedef super::polyset_type Feel::fem::Hermite< N, O, PolySetType, T, Convex, Pts >::polyset_type

Polynomial Set type: scalar or vectorial

Member Function Documentation

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

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

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