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::PointSetQuadrature< Convex, Integration_Degree, T > Class Template Reference

#include <quadpoint.hpp>

Detailed Description

template<class Convex, uint16_type Integration_Degree, typename T>
class Feel::PointSetQuadrature< Convex, Integration_Degree, T >

Quadrature point set base class.

Author
Gilles Steiner gille.nosp@m.s.st.nosp@m.einer.nosp@m.@epf.nosp@m.l.ch
Christophe Prud'homme chris.nosp@m.toph.nosp@m.e.pru.nosp@m.dhom.nosp@m.me@fe.nosp@m.elpp.nosp@m..org
+ Inheritance diagram for Feel::PointSetQuadrature< Convex, Integration_Degree, T >:

Public Types

typedef Face face_quadrature_type
 
typedef super::node_type node_type
 
typedef super::nodes_type nodes_type
 
typedef self_type parent_quadrature_type
 
typedef super::return_type return_type
 
typedef PointSetQuadrature
< Convex, Integration_Degree,
T > 
self_type
 
typedef PointSet< Convex,
value_type > 
super
 
typedef T value_type
 
typedef Eigen::Matrix
< value_type, Eigen::Dynamic, 1 > 
vector_type
 
typedef ublas::vector< value_type > weights_type
 
- Public Types inherited from Feel::PointSet< Convex, T >
typedef Convex convex_type
 
typedef node< value_type >::type node_type
 
typedef ublas::matrix
< value_type,
ublas::column_major > 
nodes_type
 
typedef Reference< Convex,
Convex::nDim, Convex::nOrder,
Convex::nDim, value_type > 
RefElem
 
typedef PointSet< convex_type,
value_type > 
self_type
 
typedef T value_type
 
- Public Types inherited from Feel::VisitableBase< R, CatchAll >
typedef R return_type
 

Public Member Functions

std::vector< nodes_type > const & allfpoints () const
 
std::vector< weights_type > const & allfweights () const
 
face_quadrature_type face (uint16_type f) const
 
 FEELPP_DEFINE_VISITABLE ()
 
ublas::matrix_column
< nodes_type const > 
fpoint (uint16_type __f, uint32_type __q) const
 
nodes_type const & fpoints (uint16_type __f) const
 
template<typename Expression >
value_type integrate (Expression f) const
 
template<typename Expression >
value_type integrate (IntegrationFaceEnum __face, Expression const &f) const
 
template<typename Expression >
value_type integrateAtPoints (Expression const &f) const
 
template<typename Expression >
value_type integrateAtPoints (IntegrationFaceEnum __face, Expression const &f) const
 
virtual bool isFaceIm () const
 
size_type nFaces () const
 
size_type nPointsOnFace (int __face=0) const
 
template<typename IndexTest , typename IndexTrial , typename ExprType >
value_type operator() (ExprType const &expr, IndexTest const &indi, IndexTrial const &indj, uint16_type c1, uint16_type c2) const
 
template<typename IndexTest , typename ExprType >
value_type operator() (ExprType const &expr, IndexTest const &indi, uint16_type c1, uint16_type c2) const
 
template<typename ExprT >
value_type operator() (ExprT const &expr, uint16_type c1, uint16_type c2) const
 
template<typename IndexTest , typename IndexTrial , typename ExprType >
value_type operator() (ExprType const &expr, IndexTest const &indi, IndexTrial const &indj, uint16_type c1, uint16_type c2, std::vector< boost::tuple< size_type, size_type > > const &indexLocalToQuad) const
 
template<typename IndexTest , typename ExprType >
value_type operator() (ExprType const &expr, IndexTest const &indi, uint16_type c1, uint16_type c2, std::vector< boost::tuple< size_type, size_type > > const &indexLocalToQuad) const
 
self_typeoperator= (self_type const &q)
 
 PointSetQuadrature (const PointSetQuadrature &Qp)
 
 PointSetQuadrature (uint32_type Npoints)
 
 PointSetQuadrature (weights_type Wts)
 
template<typename GMC >
void update (GMC const &gmc)
 
template<typename GMC >
void update (GMC const &gmc, std::vector< boost::tuple< size_type, size_type > > const &indexLocalToQuad)
 
value_type weight (uint16_type __f, uint32_type q) const
 
value_type const & weight (int q) const
 
weights_type const & weights (uint16_type __f) const
 
weights_type const & weights () const
 
- Public Member Functions inherited from Feel::PointSet< Convex, T >
 FEELPP_DEFINE_VISITABLE ()
 
std::string getName ()
 
std::string getPointsInfo ()
 
uint32_type nPoints () const
 
self_typeoperator= (self_type const &p)
 
ublas::matrix_column
< nodes_type const > 
point (uint32_type __i) const
 
ublas::matrix_column< nodes_type > point (uint32_type __i)
 
ublas::matrix_column
< nodes_type const > 
point (uint16_type f, uint32_type __i) const
 
ublas::matrix_column< nodes_type > point (uint16_type f, uint32_type __i)
 
nodes_type const & points () const
 
nodes_type const & points (uint16_type f) const
 
 PointSet (const self_type &P)
 
 PointSet (uint32_type Npoints)
 
 PointSet (uint32_type Npoints, uint16_type Dim)
 
 PointSet (nodes_type const &SomePoints)
 
void setName (std::string name, uint32_type order)
 
void toPython ()
 
- Public Member Functions inherited from Feel::VisitableBase< R, CatchAll >
virtual return_type accept (VisitorBase &)=0
 accept visitor: use S_DEFINE_VISITABLE() to redefine it
 
virtual return_type accept (VisitorBase *)=0
 accept visitor: use S_DEFINE_VISITABLE() to redefine it
 

Static Public Attributes

static const uint16_type I_deg = Integration_Degree
 
static const bool is_face_im = false
 

Protected Member Functions

template<typename Elem , typename GM , typename IM >
void constructQROnFace (Elem const &ref_convex, boost::shared_ptr< GM > const &__gm, boost::shared_ptr< IM > const &__qr_face)
 
template<typename Elem , typename GM , typename IM >
void constructQROnFace (Elem const &, boost::shared_ptr< GM > const &, boost::shared_ptr< IM > const &, mpl::bool_< false >)
 
template<typename Elem , typename GM , typename IM >
void constructQROnFace (Elem const &ref_convex, boost::shared_ptr< GM > const &__gm, boost::shared_ptr< IM > const &__qr_face, mpl::bool_< true >)
 
void setWeights (weights_type const &w)
 
- Protected Member Functions inherited from Feel::PointSet< Convex, T >
void setPoints (nodes_type const &pts)
 
void setPoints (uint16_type f, nodes_type const &n)
 

Protected Attributes

vector_type M_exprq
 
std::vector< nodes_type > M_n_face
 
vector_type M_prod
 
weights_type M_w
 
std::vector< weights_type > M_w_face
 
- Protected Attributes inherited from Feel::PointSet< Convex, T >
uint32_type M_npoints
 
nodes_type M_points
 
std::vector< nodes_type > M_points_face
 
std::string pointsInfo
 
std::string pointsName
 

Additional Inherited Members

- Static Protected Member Functions inherited from Feel::VisitableBase< R, CatchAll >
template<class T >
static return_type acceptImpl (T *visited, VisitorBase *guest)
 

Member Function Documentation

template<class Convex, uint16_type Integration_Degree, typename T>
std::vector<weights_type> const& Feel::PointSetQuadrature< Convex, Integration_Degree, T >::allfweights ( ) const
inline

Face Quadrature Discussion

template<class Convex, uint16_type Integration_Degree, typename T>
ublas::matrix_column<nodes_type const> Feel::PointSetQuadrature< Convex, Integration_Degree, T >::fpoint ( uint16_type  __f,
uint32_type  __q 
) const
inline
Returns
quadrature coordinates of the q-th node of face f
template<class Convex, uint16_type Integration_Degree, typename T>
nodes_type const& Feel::PointSetQuadrature< Convex, Integration_Degree, T >::fpoints ( uint16_type  __f) const
inline
Returns
all quadrature coordinates of the q-th node of face f
template<class Convex, uint16_type Integration_Degree, typename T>
template<typename Expression >
value_type Feel::PointSetQuadrature< Convex, Integration_Degree, T >::integrate ( Expression  f) const
inline

Integrate the function f over the convex associated with the quadrature points

This function handles the scalar and vectorial case

template<class Convex, uint16_type Integration_Degree, typename T>
template<typename Expression >
value_type Feel::PointSetQuadrature< Convex, Integration_Degree, T >::integrate ( IntegrationFaceEnum  __face,
Expression const &  f 
) const
inline

Integrate f on a face of the domain defined by the shape of the element

This function handles the scalar and vectorial case

template<class Convex, uint16_type Integration_Degree, typename T>
template<typename Expression >
value_type Feel::PointSetQuadrature< Convex, Integration_Degree, T >::integrateAtPoints ( Expression const &  f) const
inline

Integrate the function f over the convex associated with the quadrature points

This function handles the scalar and vectorial case

template<class Convex, uint16_type Integration_Degree, typename T>
template<typename Expression >
value_type Feel::PointSetQuadrature< Convex, Integration_Degree, T >::integrateAtPoints ( IntegrationFaceEnum  __face,
Expression const &  f 
) const
inline

Integrate f on a face of the domain defined by the shape of the element

This function handles the scalar and vectorial case

template<class Convex, uint16_type Integration_Degree, typename T>
value_type Feel::PointSetQuadrature< Convex, Integration_Degree, T >::weight ( uint16_type  __f,
uint32_type  q 
) const
inline
Returns
quadrature weight of the q-th node of face f
template<class Convex, uint16_type Integration_Degree, typename T>
weights_type const& Feel::PointSetQuadrature< Convex, Integration_Degree, T >::weights ( uint16_type  __f) const
inline
Returns
all quadrature weights of face f

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

Generated on Sun Dec 22 2013 13:11:21 for Feel++ by doxygen 1.8.5