Skip to content

Commit

Permalink
Merge pull request #12726 from bangerth/doc
Browse files Browse the repository at this point in the history
Improve documentation of PolynomialsRaviartThomas a bit.
  • Loading branch information
kronbichler committed Aug 31, 2021
2 parents b70db3a + 6d9e7f8 commit c59c2cd
Showing 1 changed file with 26 additions and 5 deletions.
31 changes: 26 additions & 5 deletions source/base/polynomials_raviart_thomas.cc
Expand Up @@ -46,14 +46,35 @@ template <int dim>
std::vector<std::vector<Polynomials::Polynomial<double>>>
PolynomialsRaviartThomas<dim>::create_polynomials(const unsigned int k)
{
// Create a vector of polynomial spaces where the first element
// has degree k+1 and the rest has degree k. This corresponds to
// the space of single-variable polynomials from which we will create the
// space for the first component of the RT element by way of tensor
// product.
//
// The other components of the RT space can be created by rotating
// this vector of single-variable polynomials.
//
std::vector<std::vector<Polynomials::Polynomial<double>>> pols(dim);
pols[0] = Polynomials::LagrangeEquidistant::generate_complete_basis(k + 1);
if (k == 0)
for (unsigned int d = 1; d < dim; ++d)
pols[d] = Polynomials::Legendre::generate_complete_basis(0);
{
// We need to treat the case k=0 differently because there,
// the polynomial in x has degree 1 and so has node points
// equal to the end points of the interval [0,1] (i.e., it
// is a "Lagrange" polynomial), whereas the y- and z-polynomials
// only have the interval midpoint as a node (i.e., they are
// a "Legendre" polynomial).
pols[0] = Polynomials::LagrangeEquidistant::generate_complete_basis(1);
for (unsigned int d = 1; d < dim; ++d)
pols[d] = Polynomials::Legendre::generate_complete_basis(0);
}
else
for (unsigned int d = 1; d < dim; ++d)
pols[d] = Polynomials::LagrangeEquidistant::generate_complete_basis(k);
{
pols[0] =
Polynomials::LagrangeEquidistant::generate_complete_basis(k + 1);
for (unsigned int d = 1; d < dim; ++d)
pols[d] = Polynomials::LagrangeEquidistant::generate_complete_basis(k);
}

return pols;
}
Expand Down

0 comments on commit c59c2cd

Please sign in to comment.