From 53b7742068b1f58a64c3b3a75cfeb8576b3f6b7b Mon Sep 17 00:00:00 2001 From: wolf Date: Tue, 6 Mar 2001 16:46:46 +0000 Subject: [PATCH] get_degree and minor clean-ups. git-svn-id: https://svn.dealii.org/trunk@4133 0785d39b-7218-0410-832d-ea1e28bc413d --- deal.II/deal.II/source/fe/fe_q.cc | 36 +++++++++++++++++++++---------- 1 file changed, 25 insertions(+), 11 deletions(-) diff --git a/deal.II/deal.II/source/fe/fe_q.cc b/deal.II/deal.II/source/fe/fe_q.cc index 3a825f65b0..7b7fffb3fd 100644 --- a/deal.II/deal.II/source/fe/fe_q.cc +++ b/deal.II/deal.II/source/fe/fe_q.cc @@ -23,7 +23,6 @@ #include #include -static std::vector dummy(1,false); // Embedding matrices (produced by tests/fe/embedding with postprocessing @@ -42,21 +41,22 @@ static std::vector dummy(1,false); template FE_Q::FE_Q (unsigned int degree) - : - FiniteElement (FiniteElementData(get_dpo_vector(degree),1), dummy), - degree(degree), - renumber(dofs_per_cell, 0), - face_renumber(dofs_per_face, 0), - polynomials(degree+1), - poly(0) + : + FiniteElement (FiniteElementData(get_dpo_vector(degree),1), + std::vector (1,false)), + degree(degree), + renumber(dofs_per_cell, 0), + face_renumber(dofs_per_face, 0), + polynomials(degree+1), + poly(0) { std::vector > > v(degree+1); for (unsigned int i=0;i<=degree;++i) { - LagrangeEquidistant p(degree, i); - polynomials[i] = p; + polynomials[i] = LagrangeEquidistant(degree,i); v[i] = &(polynomials[i]); - } + }; + poly = new TensorProductPolynomials (v); build_renumbering (*this, degree, renumber); @@ -593,7 +593,10 @@ FE_Q::FE_Q (unsigned int degree) template FE_Q::~FE_Q () { + // delete poly member and set it to + // zero to prevent accidental use delete poly; + poly = 0; } @@ -1109,6 +1112,7 @@ FE_Q::fill_fe_subface_values (const Mapping &mapping, } + template unsigned int FE_Q::memory_consumption () const @@ -1118,4 +1122,14 @@ FE_Q::memory_consumption () const } + +template +unsigned int +FE_Q::get_degree () const +{ + return degree; +}; + + + template FE_Q; -- 2.39.5