#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) |
|
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.5