#include <boundadapted.hpp>
BoundaryAdapted Basis on simplex.
This class represents the Boundary Adapted Basis made from Dubiner polynomials up to degree Degree on a simplex in dimension Dim.
The Boundary adapted basis is construct to preserve a part of the Dubiner polynomials' orthogonality. However we need to modify the basis in order to manage easily the boundary condtions.
Inheritance diagram for Feel::BoundaryAdapted< Dim, Degree, T, StoragePolicy >:Public Types | |
|
typedef BoundaryAdaptedTraits < Dim, Degree, T, StoragePolicy > | traits_type |
Typedefs | |
|
typedef BoundaryAdapted< 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 traits_type::convex_type | convex_type |
|
typedef traits_type::reference_convex_type | reference_convex_type |
|
typedef traits_type::diff_pointset_type | diff_pointset_type |
| typedef traits_type::storage_policy | storage_policy |
| typedef traits_type::vector_type | vector_type |
| typedef traits_type::matrix_type | matrix_type |
|
typedef traits_type::vector_matrix_type | vector_matrix_type |
|
typedef traits_type::vector_vector_matrix_type | vector_vector_matrix_type |
|
typedef traits_type::matrix_node_type | matrix_node_type |
| typedef traits_type::points_type | points_type |
| typedef traits_type::node_type | node_type |
|
typedef Principal< Degree, T, StoragePolicy > | principal_type |
Public Member Functions | |
| template<typename AE > | |
| BoundaryAdapted< Dim, Degree, T, StoragePolicy > ::vector_matrix_type | derivate (ublas::matrix_expression< AE > const &__pts, mpl::int_< 2 >) |
| template<typename AE > | |
| BoundaryAdapted< Dim, Degree, T, StoragePolicy > ::vector_matrix_type | derivate (ublas::matrix_expression< AE > const &__pts, mpl::int_< 3 >) |
| points_type const & | points () const |
| points_type const & | points (int f) const |
Constructors, destructor | |
| BoundaryAdapted () | |
| BoundaryAdapted (BoundaryAdapted const &d) | |
| ~BoundaryAdapted () | |
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 |
| static matrix_type | evaluate (points_type const &__pts) |
| template<typename AE > | |
| static vector_matrix_type | derivate (ublas::matrix_expression< AE > const &__pts) |
Additional Inherited Members | |
Private Types inherited from Feel::Basis< BoundaryAdaptedTag< Dim, Degree >, T > | |
| typedef T | value_type |
|
typedef ublas::matrix < value_type, ublas::row_major > | matrix_type |
Private Member Functions inherited from Feel::Basis< BoundaryAdaptedTag< Dim, Degree >, T > | |
| Basis (PrimalBasis const &p) | |
| Basis (Basis const &b) | |
| virtual | ~Basis () |
Static Private Member Functions inherited from Feel::Basis< BoundaryAdaptedTag< Dim, Degree >, T > | |
| static matrix_type const & | d (uint16_type i) |
| derivatives of Dubiner polynomials the derivatives are computed at the nodes of the lattice More... | |
| static matrix_type const & | derivate (uint16_type i) |
| derivatives of Dubiner polynomials the derivatives are computed at the nodes of the lattice More... | |
| static void | initDerivation (PrimalBasis const &basis) |
|
inline |
|
inline |
| BoundaryAdapted<Dim, Degree, T, StoragePolicy>::vector_matrix_type Feel::BoundaryAdapted< Dim, Degree, T, StoragePolicy >::derivate | ( | ublas::matrix_expression< AE > const & | __pts, |
| mpl::int_< 3 > | |||
| ) |
We must save the Jacobian matrix
for all points and all cases. We choose to build
such that ublas::row(Jac,3*(j-1)+i-1) = 

-2/( + )
2(1+)/( + )^2
2(1+)/( + )^2

0
2/(1-)
2(1+)/(1-)^2

0
0
1
Usefull intermediate matrix to simplify the construction
Adding Jacobian contribution
|
inlinestatic |
evaluate the BoundaryAdapted polynomials at a set of points __pts
|
inline |
familyName()
|
inline |
Access to the points of the reference convex associated
|
inline |
Access to the points associated with the face f
1.8.4