Feel++  0.92.0
Classes | Public Types | Public Member Functions | Static Public Attributes
Feel::PolynomialSet< Poly, PolySetType >::Context< context_v, Basis_t, Geo_t, ElementType, context_g > Class Template Reference

List of all members.

Classes

struct  Index

Public Types

typedef Basis_t::polyset_type polyset_type
typedef Basis_t reference_element_type
typedef boost::shared_ptr
< Basis_t > 
reference_element_ptrtype
typedef
reference_element_type::value_type 
value_type
typedef ElementType geometric_element_type
typedef Geo_t::template
Context< context_g,
ElementType > 
geometric_mapping_context_type
typedef boost::shared_ptr
< geometric_mapping_context_type > 
geometric_mapping_context_ptrtype
typedef node< value_type >::type node_type
typedef ublas::matrix< value_type > matrix_type
typedef points_type matrix_node_t_type
typedef Eigen::Matrix
< value_type, nComponents1, 1 > 
id_type
typedef Eigen::Matrix
< value_type, nComponents1,
nDim > 
ref_grad_type
typedef Eigen::Matrix
< value_type, nComponents1,
NDim > 
grad_type
typedef Eigen::Matrix
< value_type, NDim, NDim > 
hess_type
typedef Eigen::Matrix
< value_type, 1, 1 > 
div_type
typedef Eigen::Matrix
< value_type, nComponents1, 1 > 
dn_type
typedef Eigen::Matrix
< value_type, 3, 1 > 
curl_type
typedef Eigen::Matrix
< value_type, nComponents1, 1 > 
dx_type
typedef Eigen::Matrix
< value_type, nComponents1, 1 > 
dy_type
typedef Eigen::Matrix
< value_type, nComponents1, 1 > 
dz_type
typedef
geometric_mapping_context_type 
gmc_type
typedef Eigen::Matrix
< value_type, gmc_type::NDim,
gmc_type::PDim > 
matrix_eigen_NP_type
typedef Eigen::Matrix
< value_type, gmc_type::PDim,
gmc_type::NDim > 
matrix_eigen_PN_type
typedef Eigen::Matrix
< value_type, gmc_type::NDim,
gmc_type::NDim > 
matrix_eigen_NN_type
typedef Eigen::Matrix
< value_type, nComponents1,
NDim > 
matrix_eigen_grad_type
typedef Eigen::Map< const
Eigen::Matrix< value_type,
gmc_type::NDim, gmc_type::PDim,
Eigen::RowMajor > > 
matrix_eigen_ublas_NP_type

Public Member Functions

 Context (reference_element_ptrtype const &__RefEle, geometric_mapping_context_ptrtype const &__gmc, precompute_ptrtype const &__pc)
void transformationEquivalence (geometric_mapping_context_ptrtype const &__gmc, mpl::bool_< true >)
void transformationEquivalence (geometric_mapping_context_ptrtype const &__gmc, mpl::bool_< false >)
void update (geometric_mapping_context_ptrtype const &__gmc, precompute_ptrtype const &__pc)
void update (geometric_mapping_context_ptrtype const &__gmc)
void update (geometric_mapping_context_ptrtype const &__gmc, mpl::int_< 0 >, mpl::bool_< true >)
void update (geometric_mapping_context_ptrtype const &__gmc, mpl::int_< 0 >, mpl::bool_< false >)
void update (geometric_mapping_context_ptrtype const &__gmc, mpl::int_< 1 >, mpl::bool_< false >)
void update (geometric_mapping_context_ptrtype const &__gmc, mpl::int_< 1 >, mpl::bool_< true >)
uint16_type nPoints () const
geometric_mapping_context_ptrtype
const & 
gmContext () const
size_type eId () const
matrix_node_t_type const & xRefs () const
precompute_ptrtype const & pc () const
boost::multi_array< value_type, 4 >
const & 
id () const
value_type const & id (uint32_type i, uint16_type c1, uint16_type c2, uint32_type q) const
value_type const & id (uint32_type i, uint16_type, uint16_type, uint32_type q, mpl::int_< 0 >) const
value_type const & id (uint32_type i, uint16_type c1, uint16_type c2, uint32_type q, mpl::int_< 1 >) const
id_type const & id (uint32_type i, uint32_type q) const
value_type const & id (uint32_type i, uint16_type c1, uint16_type c2, uint32_type q, mpl::int_< 2 >) const
value_type d (uint32_type i, uint16_type c1, uint16_type c2, uint32_type q) const
value_type dx (uint32_type i, uint16_type c1, uint16_type c2, uint32_type q) const
value_type dx (uint32_type i, uint16_type, uint16_type, uint32_type q, mpl::int_< 0 >) const
value_type dx (uint32_type i, uint16_type c1, uint16_type, uint32_type q, mpl::int_< 1 >) const
value_type dy (uint32_type i, uint16_type c1, uint16_type c2, uint32_type q) const
value_type dy (uint32_type i, uint16_type, uint16_type, uint32_type q, mpl::int_< 0 >) const
value_type dy (uint32_type i, uint16_type c1, uint16_type, uint32_type q, mpl::int_< 1 >) const
value_type dz (uint32_type i, uint16_type c1, uint16_type c2, uint32_type q) const
value_type dz (uint32_type i, uint16_type, uint16_type, uint32_type q, mpl::int_< 0 >) const
value_type dz (uint32_type i, uint16_type c1, uint16_type, uint32_type q, mpl::int_< 1 >) const
value_type const & dn (uint32_type i, uint16_type c1, uint16_type c2, uint32_type q) const
dn_type const & dn (uint16_type i, uint32_type q) const
value_type grad (uint16_type i, uint16_type c1, uint16_type c2, uint32_type q) const
value_type grad (uint16_type i, uint16_type c1, uint16_type c2, uint32_type q, mpl::int_< 0 >) const
value_type grad (uint16_type i, uint16_type c1, uint16_type c2, uint32_type q, mpl::int_< 1 >) const
grad_type const & grad (uint16_type i, uint32_type q) const
dx_type const & dx (uint16_type i, uint32_type q) const
dy_type const & dy (uint16_type i, uint32_type q) const
dz_type const & dz (uint16_type i, uint32_type q) const
value_type div (uint16_type i, uint16_type c1, uint16_type c2, uint32_type q) const
value_type div (uint16_type i, uint16_type c1, uint16_type c2, uint32_type q, mpl::int_< 0 >) const
value_type div (uint16_type i, uint16_type c1, uint16_type c2, uint32_type q, mpl::int_< 1 >) const
value_type curl (uint16_type i, uint16_type c1, uint16_type c2, uint32_type q) const
value_type curl (uint16_type i, uint16_type c1, uint16_type c2, uint32_type q, mpl::int_< 0 >) const
value_type curl (uint16_type i, uint16_type c1, uint16_type c2, uint32_type q, mpl::int_< 1 >) const
value_type curlx (uint16_type i, uint16_type c1, uint16_type c2, uint32_type q) const
value_type curlx (uint16_type i, uint16_type c1, uint16_type c2, uint32_type q, mpl::int_< 0 >) const
value_type curlx (uint16_type i, uint16_type c1, uint16_type c2, uint32_type q, mpl::int_< 1 >) const
value_type curly (uint16_type i, uint16_type c1, uint16_type c2, uint32_type q) const
value_type curly (uint16_type i, uint16_type c1, uint16_type c2, uint32_type q, mpl::int_< 0 >) const
value_type curly (uint16_type i, uint16_type c1, uint16_type c2, uint32_type q, mpl::int_< 1 >) const
value_type curlz (uint16_type i, uint16_type c1, uint16_type c2, uint32_type q) const
value_type curlz (uint16_type i, uint16_type c1, uint16_type c2, uint32_type q, mpl::int_< 0 >) const
value_type curlz (uint16_type i, uint16_type c1, uint16_type c2, uint32_type q, mpl::int_< 1 >) const
value_type hess (uint16_type i, uint16_type c1, uint16_type c2, uint32_type q) const
value_type hess (uint16_type i, uint16_type c1, uint16_type c2, uint32_type q, mpl::int_< 0 >) const
 Context (Context const &)

Static Public Attributes

static
EIGEN_MAKE_ALIGNED_OPERATOR_NEW
const int 
context = context_v
static const uint16_type PDim = ElementType::nDim
static const uint16_type NDim = ElementType::nRealDim
static const uint16_type nDof = Basis_t::nLocalDof
static const bool is_product = Basis_t::is_product
static const bool is_scalar = Basis_t::is_scalar
static const bool is_vectorial = Basis_t::is_vectorial
static const bool is_tensor2 = Basis_t::is_tensor2
static const uint16_type nComponents = Basis_t::nComponents
static const uint16_type nComponents1 = Basis_t::nComponents1
static const uint16_type nComponents2 = Basis_t::nComponents2
static const uint16_type rank = polyset_type::rank

template<typename Poly, template< uint16_type > class PolySetType = Scalar>
template<size_type context_v, typename Basis_t, typename Geo_t, typename ElementType, size_type context_g = context_v>
class Feel::PolynomialSet< Poly, PolySetType >::Context< context_v, Basis_t, Geo_t, ElementType, context_g >


Member Function Documentation

template<typename Poly, template< uint16_type > class PolySetType = Scalar>
template<size_type context_v, typename Basis_t , typename Geo_t , typename ElementType , size_type context_g = context_v>
value_type Feel::PolynomialSet< Poly, PolySetType >::Context< context_v, Basis_t, Geo_t, ElementType, context_g >::curl ( uint16_type  i,
uint16_type  c1,
uint16_type  c2,
uint32_type  q 
) const [inline]

curl of the basis function at the q-th point.

Parameters:
qindex of the points to evaluate the curl
iindex containing current function and component indices
Returns:
curl of the basis function at the q-th point
template<typename Poly, template< uint16_type > class PolySetType = Scalar>
template<size_type context_v, typename Basis_t , typename Geo_t , typename ElementType , size_type context_g = context_v>
value_type Feel::PolynomialSet< Poly, PolySetType >::Context< context_v, Basis_t, Geo_t, ElementType, context_g >::div ( uint16_type  i,
uint16_type  c1,
uint16_type  c2,
uint32_type  q 
) const [inline]

divergence of the basis function at the q-th point.

Parameters:
qindex of the points to evaluate the divergence
iindex containing current function and component indices
Returns:
divergence of the basis function at the q-th point
template<typename Poly, template< uint16_type > class PolySetType = Scalar>
template<size_type context_v, typename Basis_t , typename Geo_t , typename ElementType , size_type context_g = context_v>
value_type Feel::PolynomialSet< Poly, PolySetType >::Context< context_v, Basis_t, Geo_t, ElementType, context_g >::div ( uint16_type  i,
uint16_type  c1,
uint16_type  c2,
uint32_type  q,
mpl::int_< 0 >   
) const [inline]

divergence of a scalar function is undefined.

template<typename Poly, template< uint16_type > class PolySetType = Scalar>
template<size_type context_v, typename Basis_t , typename Geo_t , typename ElementType , size_type context_g = context_v>
value_type const& Feel::PolynomialSet< Poly, PolySetType >::Context< context_v, Basis_t, Geo_t, ElementType, context_g >::dn ( uint32_type  i,
uint16_type  c1,
uint16_type  c2,
uint32_type  q 
) const [inline]
Returns:
the matrix containing the value of the normal derivative of the basis fucntions at the set of nodes
the matrix containing the value of the normal derivative of the basis function i at the node q
template<typename Poly, template< uint16_type > class PolySetType = Scalar>
template<size_type context_v, typename Basis_t , typename Geo_t , typename ElementType , size_type context_g = context_v>
size_type Feel::PolynomialSet< Poly, PolySetType >::Context< context_v, Basis_t, Geo_t, ElementType, context_g >::eId ( ) const [inline]
Returns:
the element id
template<typename Poly, template< uint16_type > class PolySetType = Scalar>
template<size_type context_v, typename Basis_t , typename Geo_t , typename ElementType , size_type context_g = context_v>
geometric_mapping_context_ptrtype const& Feel::PolynomialSet< Poly, PolySetType >::Context< context_v, Basis_t, Geo_t, ElementType, context_g >::gmContext ( ) const [inline]
Returns:
the geometric mapping context
template<typename Poly, template< uint16_type > class PolySetType = Scalar>
template<size_type context_v, typename Basis_t , typename Geo_t , typename ElementType , size_type context_g = context_v>
uint16_type Feel::PolynomialSet< Poly, PolySetType >::Context< context_v, Basis_t, Geo_t, ElementType, context_g >::nPoints ( void  ) const [inline]
Returns:
the number of points at which the basis functions have been evaluated
template<typename Poly, template< uint16_type > class PolySetType = Scalar>
template<size_type context_v, typename Basis_t , typename Geo_t , typename ElementType , size_type context_g = context_v>
precompute_ptrtype const& Feel::PolynomialSet< Poly, PolySetType >::Context< context_v, Basis_t, Geo_t, ElementType, context_g >::pc ( ) const [inline]
Returns:
the precomputation of the basis function in the reference element
template<typename Poly, template< uint16_type > class PolySetType = Scalar>
template<size_type context_v, typename Basis_t , typename Geo_t , typename ElementType , size_type context_g = context_v>
void Feel::PolynomialSet< Poly, PolySetType >::Context< context_v, Basis_t, Geo_t, ElementType, context_g >::transformationEquivalence ( geometric_mapping_context_ptrtype const &  __gmc,
mpl::bool_< true >   
) [inline]

if isTransformationEquivalent is set to true in basis then no transformation is required

template<typename Poly, template< uint16_type > class PolySetType = Scalar>
template<size_type context_v, typename Basis_t , typename Geo_t , typename ElementType , size_type context_g = context_v>
void Feel::PolynomialSet< Poly, PolySetType >::Context< context_v, Basis_t, Geo_t, ElementType, context_g >::transformationEquivalence ( geometric_mapping_context_ptrtype const &  __gmc,
mpl::bool_< false >   
) [inline]

if isTransformationEquivalent is set to false in basis then a transformation is required to ensure that the basis function are equivalent on the reference and real elements. We deleguate the transformation to the basis

template<typename Poly, template< uint16_type > class PolySetType = Scalar>
template<size_type context_v, typename Basis_t , typename Geo_t , typename ElementType , size_type context_g = context_v>
matrix_node_t_type const& Feel::PolynomialSet< Poly, PolySetType >::Context< context_v, Basis_t, Geo_t, ElementType, context_g >::xRefs ( ) const [inline]
Returns:
the points in the reference element