Feel++  0.92.0
Public Types | Public Member Functions | Public Attributes | Static Public Attributes
Feel::PolynomialSet< Poly, PolySetType >::PreCompute Class Reference

List of all members.

Public Types

typedef boost::shared_ptr
< reference_element_type > 
reference_element_ptrtype
typedef
reference_element_type::value_type 
value_type
typedef
reference_element_type::points_type 
matrix_node_t_type
typedef ublas::matrix< value_type > matrix_type
typedef Eigen::Matrix
< value_type, nComponents1, 1 > 
id_type
typedef Eigen::Matrix
< value_type, nComponents1,
nDim > 
g_type
typedef Eigen::Matrix
< value_type, nDim, nDim > 
h_type
typedef boost::multi_array
< id_type, 2 > 
functionvalue_type
typedef boost::multi_array
< g_type, 2 > 
grad_type
typedef boost::multi_array
< h_type, 2 > 
hessian_type

Public Member Functions

 PreCompute (reference_element_ptrtype const &__ref_ele, matrix_node_t_type const &__pts)
 PreCompute (PreCompute const &__pc)
 ~PreCompute ()
PreComputeoperator= (PreCompute const &__pc)
void update (matrix_node_t_type const &__pts)
uint16_type dim () const
uint16_type nComputedNodes () const
uint16_type nPoints () const
matrix_node_t_type const & nodes () const
ublas::matrix_column
< matrix_node_t_type const > 
node (uint16_type __i) const
functionvalue_type const & phi () const
value_type phi (uint16_type i, uint16_type c1, uint16_type c2, uint16_type q) const
grad_type const & grad () const
value_type grad (size_type i, uint16_type c1, uint16_type c2, uint16_type q) const
hessian_type const & hessian () const
value_type hessian (size_type i, uint16_type c1, uint16_type c2, uint16_type q) const

Public Attributes

EIGEN_MAKE_ALIGNED_OPERATOR_NEW
typedef PolynomialSet< Poly,
PolySetType > 
reference_element_type

Static Public Attributes

static const uint16_type nDim = reference_element_type::nDim
static const uint16_type nComponents1 = reference_element_type::nComponents1
static const uint16_type nComponents2 = reference_element_type::nComponents2
static const uint16_type nComponents = reference_element_type::nComponents

template<typename Poly, template< uint16_type > class PolySetType = Scalar>
class Feel::PolynomialSet< Poly, PolySetType >::PreCompute


Constructor & Destructor Documentation

template<typename Poly, template< uint16_type > class PolySetType = Scalar>
Feel::PolynomialSet< Poly, PolySetType >::PreCompute::PreCompute ( reference_element_ptrtype const &  __ref_ele,
matrix_node_t_type const &  __pts 
) [inline]

precompute values of basis functions given by __ref_ele at points __pts

template<typename Poly, template< uint16_type > class PolySetType = Scalar>
Feel::PolynomialSet< Poly, PolySetType >::PreCompute::PreCompute ( PreCompute const &  __pc) [inline]

copy constructor (deep copy)

template<typename Poly, template< uint16_type > class PolySetType = Scalar>
Feel::PolynomialSet< Poly, PolySetType >::PreCompute::~PreCompute ( ) [inline]

Member Function Documentation

template<typename Poly, template< uint16_type > class PolySetType = Scalar>
uint16_type Feel::PolynomialSet< Poly, PolySetType >::PreCompute::dim ( ) const [inline]
Returns:
the dimension of the space where the nodes are defined
template<typename Poly, template< uint16_type > class PolySetType = Scalar>
uint16_type Feel::PolynomialSet< Poly, PolySetType >::PreCompute::nComputedNodes ( ) const [inline]
Returns:
the number of nodes in the reference element where the preconputation is done

Referenced by Feel::PolynomialSet< Poly, PolySetType >::PreCompute::phi().

template<typename Poly, template< uint16_type > class PolySetType = Scalar>
ublas::matrix_column<matrix_node_t_type const> Feel::PolynomialSet< Poly, PolySetType >::PreCompute::node ( uint16_type  __i) const [inline]
Returns:
the nodes at which the basis functions, gradient and hessian have been computed in the reference element
template<typename Poly, template< uint16_type > class PolySetType = Scalar>
matrix_node_t_type const& Feel::PolynomialSet< Poly, PolySetType >::PreCompute::nodes ( ) const [inline]
Returns:
the nodes at which the basis functions, gradient and hessian have been computed in the reference element
template<typename Poly, template< uint16_type > class PolySetType = Scalar>
uint16_type Feel::PolynomialSet< Poly, PolySetType >::PreCompute::nPoints ( void  ) const [inline]
Returns:
the number of nodes in the reference element where the preconputation is done
template<typename Poly, template< uint16_type > class PolySetType = Scalar>
PreCompute& Feel::PolynomialSet< Poly, PolySetType >::PreCompute::operator= ( PreCompute const &  __pc) [inline]

copy operator (deep copy)

template<typename Poly, template< uint16_type > class PolySetType = Scalar>
functionvalue_type const& Feel::PolynomialSet< Poly, PolySetType >::PreCompute::phi ( ) const [inline]

Return the matrix evaluation the basis functions (rows) at a set of points (columns). The matrix is column oriented, so performance wise it is better to iterate over the columns

template<typename Poly, template< uint16_type > class PolySetType = Scalar>
value_type Feel::PolynomialSet< Poly, PolySetType >::PreCompute::phi ( uint16_type  i,
uint16_type  c1,
uint16_type  c2,
uint16_type  q 
) const [inline]

Returns the value of the q-th node of the i-th basis functions.

References Feel::PolynomialSet< Poly, PolySetType >::nbDof(), and Feel::PolynomialSet< Poly, PolySetType >::PreCompute::nComputedNodes().