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