Reference documentation for deal.II version 9.2.0
\(\newcommand{\dealvcentcolon}{\mathrel{\mathop{:}}}\) \(\newcommand{\dealcoloneq}{\dealvcentcolon\mathrel{\mkern-1.2mu}=}\) \(\newcommand{\jump}[1]{\left[\!\left[ #1 \right]\!\right]}\) \(\newcommand{\average}[1]{\left\{\!\left\{ #1 \right\}\!\right\}}\)
Public Member Functions | Static Public Attributes | Private Member Functions | Private Attributes | List of all members
PolynomialsP< dim > Class Template Reference

#include <deal.II/base/polynomials_p.h>

Inheritance diagram for PolynomialsP< dim >:
[legend]

Public Member Functions

 PolynomialsP (const unsigned int p)
 
unsigned int degree () const
 
std::array< unsigned int, dim > directional_degrees (unsigned int n) const
 

Static Public Attributes

static const unsigned int dimension = dim
 

Private Member Functions

void create_polynomial_ordering (std::vector< unsigned int > &index_map) const
 
void create_polynomial_ordering (std::vector< unsigned int > &index_map) const
 
void create_polynomial_ordering (std::vector< unsigned int > &index_map) const
 
void create_polynomial_ordering (std::vector< unsigned int > &index_map) const
 

Private Attributes

const unsigned int p
 

Detailed Description

template<int dim>
class PolynomialsP< dim >

This class implements the polynomial space of degree p based on the monomials \({1,x,x^2,...}\). I.e. in d dimensions it constructs all polynomials of the form \(\prod_{i=1}^d x_i^{n_i}\), where \(\sum_i n_i\leq p\). The base polynomials are given a specific ordering, e.g. in 2 dimensions: \({1,x,y,xy,x^2,y^2,x^2y,xy^2,x^3,y^3,...}\). The ordering of the monomials in \(P_k1\) matches the ordering of the monomials in \(P_k2\) for \(k2>k1\).

Author
Ralf Hartmann, 2004

Definition at line 48 of file polynomials_p.h.

Constructor & Destructor Documentation

◆ PolynomialsP()

template<int dim>
PolynomialsP< dim >::PolynomialsP ( const unsigned int  p)

Constructor. Creates all basis functions of \(P_p\).

  • p: the degree of the polynomial space

Definition at line 23 of file polynomials_p.cc.

Member Function Documentation

◆ degree()

template<int dim>
unsigned int PolynomialsP< dim >::degree
inline

Return the degree p of the polynomial space P_p.

Note, that this number is PolynomialSpace::degree()-1, compare definition in PolynomialSpace.

Definition at line 99 of file polynomials_p.h.

◆ directional_degrees()

template<int dim>
std::array< unsigned int, dim > PolynomialsP< dim >::directional_degrees ( unsigned int  n) const
inline

For the nth polynomial \(p_n(x,y,z)=x^i y^j z^k\) this function gives the degrees i,j,k in the x,y,z directions.

In 1d and 2d, obviously only i and i,j are returned.

Definition at line 107 of file polynomials_p.h.

◆ create_polynomial_ordering() [1/4]

template<int dim>
void PolynomialsP< dim >::create_polynomial_ordering ( std::vector< unsigned int > &  index_map) const
private

Fills the index_map.

◆ create_polynomial_ordering() [2/4]

void PolynomialsP< 1 >::create_polynomial_ordering ( std::vector< unsigned int > &  index_map) const
private

Definition at line 36 of file polynomials_p.cc.

◆ create_polynomial_ordering() [3/4]

void PolynomialsP< 2 >::create_polynomial_ordering ( std::vector< unsigned int > &  index_map) const
private

Definition at line 61 of file polynomials_p.cc.

◆ create_polynomial_ordering() [4/4]

void PolynomialsP< 3 >::create_polynomial_ordering ( std::vector< unsigned int > &  index_map) const
private

Definition at line 90 of file polynomials_p.cc.

Member Data Documentation

◆ dimension

template<int dim>
const unsigned int PolynomialsP< dim >::dimension = dim
static

Access to the dimension of this object, for checking and automatic setting of dimension in other classes.

Definition at line 55 of file polynomials_p.h.

◆ p

template<int dim>
const unsigned int PolynomialsP< dim >::p
private

Degree p of the polynomial space \(P_p\), i.e. the number p which was given to the constructor.

Definition at line 92 of file polynomials_p.h.


The documentation for this class was generated from the following files: