Feel++  0.92.0
Classes | Public Member Functions | Static Public Attributes
Feel::TensorisedBoundaryAdapted< Dim, Degree, T, StoragePolicy > Class Template Reference

TensorisedBoundaryAdapted Basis on simplex products. More...

#include <tensorisedboundadapted.hpp>

List of all members.

Classes

struct  Convex

Public Member Functions

points_type points ()
points_type const & points (int f) const
Constructors, destructor
 TensorisedBoundaryAdapted ()
 TensorisedBoundaryAdapted (TensorisedBoundaryAdapted const &d)
 ~TensorisedBoundaryAdapted ()
Operator overloads
self_type const & operator= (self_type const &d)
matrix_type operator() (node_type const &pt) const
matrix_type operator() (points_type const &pts) const
Accessors
uint_type degree () const
self_type const & basis () const
std::string familyName () const
Methods
matrix_type coeff () const
matrix_type evaluate (points_type const &__pts) const
template<typename AE >
vector_matrix_type derivate (ublas::matrix_expression< AE > const &__pts) const
matrix_type const & d (uint16_type i)
 derivatives of Dubiner polynomials the derivatives are computed at the nodes of the lattice
matrix_type const & derivate (uint16_type i)
 derivatives of Dubiner polynomials the derivatives are computed at the nodes of the lattice

Static Public Attributes

static const uint16_type nDim = Dim
static const uint16_type nOrder = Degree
static const uint16_type nConvexOrder = nDim+nOrder+1

Typedefs

typedef
TensorisedBoundaryAdapted< Dim,
Degree, T, StoragePolicy > 
self_type
typedef self_type basis_type
typedef T value_type
typedef int16_type int_type
typedef uint16_type uint_type
typedef Hypercube< nDim,
nConvexOrder, nDim > 
convex_type
typedef Reference< convex_type,
nDim, nConvexOrder, nDim, T > 
reference_convex_type
typedef
reference_convex_type::points_type 
points_type
typedef StoragePolicy< value_type > storage_policy
typedef storage_policy::vector_type vector_type
typedef storage_policy::matrix_type matrix_type
typedef
storage_policy::vector_matrix_type 
vector_matrix_type
typedef
storage_policy::vector_vector_matrix_type 
vector_vector_matrix_type
typedef
storage_policy::matrix_node_type 
matrix_node_type
typedef storage_policy::node_type node_type
static const uint16_type numVertices = reference_convex_type::numVertices
static const uint16_type numFaces = reference_convex_type::numFaces

Detailed Description

template<uint16_type Dim, uint16_type Degree, typename T = double, template< class > class StoragePolicy = StorageUBlas>
class Feel::TensorisedBoundaryAdapted< Dim, Degree, T, StoragePolicy >

TensorisedBoundaryAdapted Basis on simplex products.

This class represents the Boundary Adapted Basis made from Jacobi polynomials up to degree Degree on a simplex in dimension Dim.

The Boundary adapted basis is constructed to preserve a part of the Jacobi polynomials' orthogonality. However we need to modify the basis in order to manage easily the boundary condtions.

Author:
Gilles Steiner
See also:
dubiner.hpp

Member Function Documentation

template<uint16_type Dim, uint16_type Degree, typename T = double, template< class > class StoragePolicy = StorageUBlas>
self_type const& Feel::TensorisedBoundaryAdapted< Dim, Degree, T, StoragePolicy >::basis ( ) const [inline]
Returns:
self as a basis
template<uint16_type Dim, uint16_type Degree, typename T = double, template< class > class StoragePolicy = StorageUBlas>
matrix_type const& Feel::TensorisedBoundaryAdapted< Dim, Degree, T, StoragePolicy >::d ( uint16_type  i) [inline]

derivatives of Dubiner polynomials the derivatives are computed at the nodes of the lattice

  • i index of the derivative (0 : x, 1 : y, 2 : z )
template<uint16_type Dim, uint16_type Degree, typename T = double, template< class > class StoragePolicy = StorageUBlas>
uint_type Feel::TensorisedBoundaryAdapted< Dim, Degree, T, StoragePolicy >::degree ( ) const [inline]
Returns:
the maximum degree of the TensorisedBoundaryAdapted polynomial to be constructed
template<uint16_type Dim, uint16_type Degree, typename T = double, template< class > class StoragePolicy = StorageUBlas>
matrix_type const& Feel::TensorisedBoundaryAdapted< Dim, Degree, T, StoragePolicy >::derivate ( uint16_type  i) [inline]

derivatives of Dubiner polynomials the derivatives are computed at the nodes of the lattice

  • i index of the derivative (0 : x, 1 : y, 2 : z )
template<uint16_type Dim, uint16_type Degree, typename T = double, template< class > class StoragePolicy = StorageUBlas>
matrix_type Feel::TensorisedBoundaryAdapted< Dim, Degree, T, StoragePolicy >::evaluate ( points_type const &  __pts) const [inline]

evaluate the TensorisedBoundaryAdapted polynomials at a set of points __pts

  • __pts is a set of points
template<uint16_type Dim, uint16_type Degree, typename T = double, template< class > class StoragePolicy = StorageUBlas>
std::string Feel::TensorisedBoundaryAdapted< Dim, Degree, T, StoragePolicy >::familyName ( ) const [inline]
Returns:
the family name of the finite element
template<uint16_type Dim, uint16_type Degree, typename T = double, template< class > class StoragePolicy = StorageUBlas>
points_type Feel::TensorisedBoundaryAdapted< Dim, Degree, T, StoragePolicy >::points ( ) [inline]

Access to the points of the reference convex associated

template<uint16_type Dim, uint16_type Degree, typename T = double, template< class > class StoragePolicy = StorageUBlas>
points_type const& Feel::TensorisedBoundaryAdapted< Dim, Degree, T, StoragePolicy >::points ( int  f) const [inline]

Access to the points associated with the face f