
Public Member Functions | |
| FE_BDM (const unsigned int p) | |
| virtual std::string | get_name () const |
| virtual FiniteElement< dim > * | clone () const |
| virtual void | interpolate (std::vector< double > &local_dofs, const std::vector< double > &values) const |
| virtual void | interpolate (std::vector< double > &local_dofs, const std::vector< Vector< double > > &values, unsigned int offset=0) const |
| virtual void | interpolate (std::vector< double > &local_dofs, const VectorSlice< const std::vector< std::vector< double > > > &values) const |
Private Member Functions | |
| void | initialize_support_points (const unsigned int rt_degree) |
Static Private Member Functions | |
| static std::vector< unsigned int > | get_dpo_vector (const unsigned int degree) |
| static std::vector< bool > | get_ria_vector (const unsigned int degree) |
Private Attributes | |
| std::vector< std::vector < double > > | test_values |
The Brezzi-Douglas-Marini element.
The matching pressure psace for FE_BDM of order k is the element FE_DGP of order k.
The BDM element of order p has p+1 degrees of freedom on each face. These are implemented as the function values in the p+1 Gauss points on each face.
Additionally, for order greater or equal 2, we have additional p(p-1), the number of vector valued polynomials in Pp, interior degrees of freedom. These are the vector function values in the first p(p-1)/2 of the p2 Gauss points in the cell.
Definition at line 52 of file fe_bdm.h.
Constructor for the BDM element of degree p.
| virtual std::string FE_BDM< dim >::get_name | ( | ) | const [virtual] |
Return a string that uniquely identifies a finite element. This class returns FE_BDM<dim>(degree), with dim and degree replaced by appropriate values.
Implements FiniteElement< dim, dim >.
| virtual FiniteElement<dim>* FE_BDM< dim >::clone | ( | ) | const [virtual] |
A sort of virtual copy constructor. Some places in the library, for example the constructors of FESystem as well as the hp::FECollection class, need to make copied of finite elements without knowing their exact type. They do so through this function.
Implements FiniteElement< dim, dim >.
| virtual void FE_BDM< dim >::interpolate | ( | std::vector< double > & | local_dofs, |
| const std::vector< double > & | values | ||
| ) | const [virtual] |
Interpolate a set of scalar values, computed in the generalized support points.
Reimplemented from FiniteElement< dim, dim >.
| virtual void FE_BDM< dim >::interpolate | ( | std::vector< double > & | local_dofs, |
| const std::vector< Vector< double > > & | values, | ||
| unsigned int | offset = 0 |
||
| ) | const [virtual] |
Interpolate a set of vector values, computed in the generalized support points.
Since a finite element often only interpolates part of a vector, offset is used to determine the first component of the vector to be interpolated. Maybe consider changing your data structures to use the next function.
Reimplemented from FiniteElement< dim, dim >.
| virtual void FE_BDM< dim >::interpolate | ( | std::vector< double > & | local_dofs, |
| const VectorSlice< const std::vector< std::vector< double > > > & | values | ||
| ) | const [virtual] |
Interpolate a set of vector values, computed in the generalized support points.
Reimplemented from FiniteElement< dim, dim >.
| static std::vector<unsigned int> FE_BDM< dim >::get_dpo_vector | ( | const unsigned int | degree ) | [static, private] |
Only for internal use. Its full name is get_dofs_per_object_vector function and it creates the dofs_per_object vector that is needed within the constructor to be passed to the constructor of FiniteElementData.
| static std::vector<bool> FE_BDM< dim >::get_ria_vector | ( | const unsigned int | degree ) | [static, private] |
Compute the vector used for the restriction_is_additive field passed to the base class's constructor.
| void FE_BDM< dim >::initialize_support_points | ( | const unsigned int | rt_degree ) | [private] |
Initialize the FiniteElement<dim>::generalized_support_points and FiniteElement<dim>::generalized_face_support_points fields. Called from the constructor.
std::vector<std::vector<double> > FE_BDM< dim >::test_values [private] |
documentation generated on Fri Feb 3 2012 06:04:07 by
doxygen
1.7.2