00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012 #ifndef __deal2__fe_face_h
00013 #define __deal2__fe_face_h
00014
00015 #include <deal.II/base/config.h>
00016 #include <deal.II/base/tensor_product_polynomials.h>
00017 #include <deal.II/fe/fe_poly_face.h>
00018
00019 DEAL_II_NAMESPACE_OPEN
00020
00021
00045 template <int dim, int spacedim=dim>
00046 class FE_FaceQ : public FE_PolyFace<TensorProductPolynomials<dim-1>, dim, spacedim>
00047 {
00048 public:
00058 FE_FaceQ(unsigned int p);
00059
00060 virtual FiniteElement<dim,spacedim>* clone() const;
00061
00071 virtual std::string get_name () const;
00072
00086 virtual bool has_support_on_face (const unsigned int shape_index,
00087 const unsigned int face_index) const;
00088
00089 private:
00094 static std::vector<unsigned int> get_dpo_vector (const unsigned int deg);
00095 };
00096
00097 DEAL_II_NAMESPACE_CLOSE
00098
00099 #endif
00100