// $Id$
// Version: $Name$
//
-// Copyright (C) 2000, 2001, 2002, 2003, 2004 by the deal.II authors
+// Copyright (C) 2000, 2001, 2002, 2003, 2004, 2005 by the deal.II authors
//
// This file is subject to QPL and may not be distributed
// without copyright and license information. Please refer
* never checked and therefore
* left to the application.
*/
- unsigned int degree () const;
+ unsigned int degree () const;
+ /**
+ * Static function used in the
+ * constructor to compute the
+ * number of polynomials.
+ */
+ static unsigned int compute_n_pols (const unsigned int n);
+
protected:
/**
* polynomials.
*/
std::vector<unsigned int> index_map_inverse;
-
- /**
- * Static function used in the
- * constructor to compute the
- * number of polynomials.
- */
- static unsigned int compute_n_pols (const unsigned int n);
};
/// @if NoDoc
// $Id$
// Version: $Name$
//
-// Copyright (C) 2004 by the deal.II authors
+// Copyright (C) 2004, 2005 by the deal.II authors
//
// This file is subject to QPL and may not be distributed
// without copyright and license information. Please refer
*/
unsigned int degree () const;
+ /**
+ * Return the number of
+ * polynomials in the space
+ * <TT>BDM(degree)</tt> without
+ * requiring to build an object
+ * of PolynomialsBDM. This is
+ * required by the FiniteElement
+ * classes.
+ */
+ static unsigned int compute_n_pols(unsigned int degree);
+
private:
/**
* An object representing the
// $Id$
// Version: $Name$
//
-// Copyright (C) 2004 by the deal.II authors
+// Copyright (C) 2004, 2005 by the deal.II authors
//
// This file is subject to QPL and may not be distributed
// without copyright and license information. Please refer
:
polynomial_space (Polynomials::Legendre::generate_complete_basis(k)),
monomials(1),
- n_pols(dim * polynomial_space.n()+2),
+ n_pols(compute_n_pols(k)),
p_values(polynomial_space.n()),
p_grads(polynomial_space.n()),
p_grad_grads(polynomial_space.n())
}
+template <int dim>
+unsigned int
+PolynomialsBDM<dim>::compute_n_pols(unsigned int k)
+{
+ return dim*PolynomialSpace<dim>::compute_n_pols(k)+2;
+}
+
+
template class PolynomialsBDM<2>;