Feel++  0.92.0
Classes | Public Types | Public Member Functions | Static Public Attributes | Protected Member Functions | Protected Attributes
Feel::PointSetQuadrature< Convex, Integration_Degree, T > Class Template Reference

Quadrature point set base class. More...

#include <quadpoint.hpp>

Inheritance diagram for Feel::PointSetQuadrature< Convex, Integration_Degree, T >:
Feel::PointSet< Convex, T > Feel::VisitableBase<> Feel::Gauss< Convex, Integration_Degree, T > Feel::GaussLobatto< Convex, Integration_Degree, T >

List of all members.

Classes

class  Face

Public Types

typedef T value_type
typedef PointSet< Convex,
value_type > 
super
typedef super::return_type return_type
typedef super::node_type node_type
typedef super::nodes_type nodes_type
typedef Eigen::Matrix
< value_type, Eigen::Dynamic, 1 > 
vector_type
typedef ublas::vector< value_type > weights_type
typedef PointSetQuadrature
< Convex, Integration_Degree,
T > 
self_type
typedef self_type parent_quadrature_type
typedef Face face_quadrature_type

Public Member Functions

 PointSetQuadrature (const PointSetQuadrature &Qp)
 PointSetQuadrature (uint32_type Npoints)
 PointSetQuadrature (weights_type Wts)
virtual bool isFaceIm () const
self_typeoperator= (self_type const &q)
std::vector< weights_type > const & allfweights () const
std::vector< nodes_type > const & allfpoints () const
weights_type const & weights (uint16_type __f) const
nodes_type const & fpoints (uint16_type __f) const
value_type weight (uint16_type __f, uint32_type q) const
ublas::matrix_column
< nodes_type const > 
fpoint (uint16_type __f, uint32_type __q) const
weights_type const & weights () const
value_type const & weight (int q) const
size_type nFaces () const
size_type nPointsOnFace (int __face=0) const
template<typename Expression >
value_type integrate (Expression f) const
template<typename Expression >
value_type integrateAtPoints (Expression const &f) const
template<typename Expression >
value_type integrate (IntegrationFaceEnum __face, Expression const &f) const
template<typename Expression >
value_type integrateAtPoints (IntegrationFaceEnum __face, Expression const &f) 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
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)
face_quadrature_type face (uint16_type f) const
 FEELPP_DEFINE_VISITABLE ()

Static Public Attributes

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

Protected Member Functions

void setWeights (weights_type const &w)
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 >)

Protected Attributes

weights_type _M_w
std::vector< weights_type > _M_w_face
std::vector< nodes_type > _M_n_face
vector_type _M_prod
vector_type _M_exprq

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 <gilles.steiner@epfl.ch>
Christophe Prud'homme <christophe.prudhomme@ujf-grenoble.fr>

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

Referenced by Feel::PointSetQuadrature< Convex::topological_face_type, Integration_Degree, T >::integrateAtPoints().

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]
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