Feel++
0.92.0
|
Finite element following Ciarlet framework. More...
#include <fe.hpp>
Public Member Functions | |
Constructors, destructor | |
FiniteElement (dual_space_type const &pdual) | |
FiniteElement (FiniteElement const &fe) | |
~FiniteElement () | |
Operator overloads | |
self_type & | operator= (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 |
Finite element following Ciarlet framework.
typedef primal_space_type::polyset_type Feel::FiniteElement< P, PDual, Pts >::polyset_type |
Polynomial Set type: scalar or vectorial
Reimplemented in Feel::fem::Nedelec< N, O, T, Convex, TheTAG >, Feel::fem::RaviartThomas< N, O, T, Convex, TheTAG >, Feel::fem::Hermite< N, O, PolySetType, T, Convex, Pts >, Feel::fem::CrouzeixRaviart< N, RealDim, PolySetType, T, Convex, TheTAG >, and Feel::fem::Lagrange< N, RealDim, O, PolySetType, ContinuityType, T, Convex, Pts, TheTAG >.
void Feel::FiniteElement< P, PDual, Pts >::domainShape | ( | ) | const [inline] |
dual_space_type const& Feel::FiniteElement< P, PDual, Pts >::dual | ( | ) | const [inline] |
virtual std::string Feel::FiniteElement< P, PDual, Pts >::familyName | ( | ) | const [pure virtual] |
Implemented in Feel::fem::Nedelec< N, O, T, Convex, TheTAG >, Feel::fem::RaviartThomas< N, O, T, Convex, TheTAG >, Feel::fem::Hermite< N, O, PolySetType, T, Convex, Pts >, Feel::fem::CrouzeixRaviart< N, RealDim, PolySetType, T, Convex, TheTAG >, and Feel::fem::Lagrange< N, RealDim, O, PolySetType, ContinuityType, T, Convex, Pts, TheTAG >.
uint16_type Feel::FiniteElement< P, PDual, Pts >::nbPoints | ( | ) | const [inline] |
points_type const& Feel::FiniteElement< P, PDual, Pts >::points | ( | ) | const [inline] |
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
primal_space_type const& Feel::FiniteElement< P, PDual, Pts >::primal | ( | ) | const [inline] |
const fem::transformation_type Feel::FiniteElement< P, PDual, Pts >::trans [static] |
( 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