All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Groups Pages
fe_dgp_monomial.h
1 //---------------------------------------------------------------------------
2 // @f$Id: fe_dgp_monomial.h 28093 2013-01-16 23:50:34Z bangerth @f$
3 //
4 // Copyright (C) 2004, 2005, 2006, 2010, 2012, 2013 by the deal.II authors
5 //
6 // This file is subject to QPL and may not be distributed
7 // without copyright and license information. Please refer
8 // to the file deal.II/doc/license.html for the text and
9 // further information on this license.
10 //
11 //---------------------------------------------------------------------------
12 #ifndef __deal2__fe_dgp_monomial_h
13 #define __deal2__fe_dgp_monomial_h
14 
15 #include <deal.II/base/config.h>
16 #include <deal.II/base/polynomials_p.h>
17 #include <deal.II/fe/fe_poly.h>
18 
19 DEAL_II_NAMESPACE_OPEN
20 
21 template <int dim, int spacedim> class MappingQ;
22 
23 
26 
86 template <int dim>
87 class FE_DGPMonomial : public FE_Poly<PolynomialsP<dim>,dim>
88 {
89 public:
94  FE_DGPMonomial (const unsigned int p);
95 
105  virtual std::string get_name () const;
106 
132  virtual
133  std::vector<std::pair<unsigned int, unsigned int> >
134  hp_vertex_dof_identities (const FiniteElement<dim> &fe_other) const;
135 
143  virtual
144  std::vector<std::pair<unsigned int, unsigned int> >
145  hp_line_dof_identities (const FiniteElement<dim> &fe_other) const;
146 
158  virtual
159  std::vector<std::pair<unsigned int, unsigned int> >
160  hp_quad_dof_identities (const FiniteElement<dim> &fe_other) const;
161 
175  virtual bool hp_constraints_are_implemented () const;
176 
189  virtual
191  compare_for_face_domination (const FiniteElement<dim> &fe_other) const;
192 
213  virtual void
215  FullMatrix<double> &matrix) const;
216 
238  virtual void
240  FullMatrix<double> &matrix) const;
241 
263  virtual void
265  const unsigned int subface,
266  FullMatrix<double> &matrix) const;
267 
281  virtual bool has_support_on_face (const unsigned int shape_index,
282  const unsigned int face_index) const;
283 
295  virtual std::size_t memory_consumption () const;
296 
297 protected:
298 
306  virtual FiniteElement<dim> *clone() const;
307 
308 private:
309 
320  static std::vector<unsigned int> get_dpo_vector (const unsigned int degree);
321 
327  void initialize_embedding ();
328 
334  void initialize_restriction ();
335 };
336 
339 DEAL_II_NAMESPACE_CLOSE
340 
341 #endif
342 

deal.II
generated on Sat May 25 2013 14:43:28 by doxygen 1.8.3.1.
Hosting by IWR Universität Heidelberg