17 #ifndef __deal2__fe_dgp_nonparametric_h
18 #define __deal2__fe_dgp_nonparametric_h
20 #include <deal.II/base/config.h>
21 #include <deal.II/base/polynomial.h>
22 #include <deal.II/base/polynomial_space.h>
23 #include <deal.II/fe/fe.h>
25 DEAL_II_NAMESPACE_OPEN
28 template <
int dim,
int spacedim>
class MappingQ;
57 template <
int dim,
int spacedim=dim>
76 virtual std::string
get_name ()
const;
110 const unsigned int component)
const;
144 const unsigned int component)
const;
179 const unsigned int component)
const;
237 const unsigned int subface,
266 std::vector<std::pair<unsigned int, unsigned int> >
277 std::vector<std::pair<unsigned int, unsigned int> >
288 std::vector<std::pair<unsigned int, unsigned int> >
340 const unsigned int face_index)
const;
437 CellSimilarity::Similarity &cell_similarity)
const;
447 const unsigned int face_no,
461 const unsigned int face_no,
462 const unsigned int sub_no,
545 std::vector<double> values;
546 std::vector<Tensor<1,dim> > grads;
547 std::vector<Tensor<2,dim> > grad_grads;
570 #ifndef DEAL_II_MEMBER_VAR_SPECIALIZATION_BUG
610 DEAL_II_NAMESPACE_CLOSE
virtual std::vector< std::pair< unsigned int, unsigned int > > hp_line_dof_identities(const FiniteElement< dim, spacedim > &fe_other) const
virtual FiniteElementDomination::Domination compare_for_face_domination(const FiniteElement< dim, spacedim > &fe_other) const
friend class FE_DGPNonparametric
virtual Tensor< 2, dim > shape_grad_grad(const unsigned int i, const Point< dim > &p) const
const PolynomialSpace< dim > polynomial_space
static std::vector< unsigned int > get_dpo_vector(const unsigned int degree)
virtual void fill_fe_values(const Mapping< dim, spacedim > &mapping, const typename Triangulation< dim, spacedim >::cell_iterator &cell, const Quadrature< dim > &quadrature, typename Mapping< dim, spacedim >::InternalDataBase &mapping_internal, typename Mapping< dim, spacedim >::InternalDataBase &fe_internal, FEValuesData< dim, spacedim > &data, CellSimilarity::Similarity &cell_similarity) const
virtual UpdateFlags update_once(const UpdateFlags flags) const
unsigned int get_degree() const
static const unsigned int n_embedding_matrices
static const double *const embedding[][GeometryInfo< dim >::max_children_per_cell]
static const double *const projection_matrices[][GeometryInfo< dim >::max_children_per_cell]
virtual bool has_support_on_face(const unsigned int shape_index, const unsigned int face_index) const
virtual std::vector< std::pair< unsigned int, unsigned int > > hp_quad_dof_identities(const FiniteElement< dim, spacedim > &fe_other) const
virtual double shape_value(const unsigned int i, const Point< dim > &p) const
virtual FiniteElement< dim, spacedim > * clone() const
virtual bool hp_constraints_are_implemented() const
virtual std::vector< std::pair< unsigned int, unsigned int > > hp_vertex_dof_identities(const FiniteElement< dim, spacedim > &fe_other) const
virtual void fill_fe_face_values(const Mapping< dim, spacedim > &mapping, const typename Triangulation< dim, spacedim >::cell_iterator &cell, const unsigned int face_no, const Quadrature< dim-1 > &quadrature, typename Mapping< dim, spacedim >::InternalDataBase &mapping_internal, typename Mapping< dim, spacedim >::InternalDataBase &fe_internal, FEValuesData< dim, spacedim > &data) const
virtual Tensor< 2, dim > shape_grad_grad_component(const unsigned int i, const Point< dim > &p, const unsigned int component) const
virtual UpdateFlags update_each(const UpdateFlags flags) const
virtual Tensor< 1, dim > shape_grad(const unsigned int i, const Point< dim > &p) const
virtual std::string get_name() const
static const unsigned int n_projection_matrices
virtual double shape_value_component(const unsigned int i, const Point< dim > &p, const unsigned int component) const
virtual Mapping< dim, spacedim >::InternalDataBase * get_data(const UpdateFlags, const Mapping< dim, spacedim > &mapping, const Quadrature< dim > &quadrature) const
virtual void fill_fe_subface_values(const Mapping< dim, spacedim > &mapping, const typename Triangulation< dim, spacedim >::cell_iterator &cell, const unsigned int face_no, const unsigned int sub_no, const Quadrature< dim-1 > &quadrature, typename Mapping< dim, spacedim >::InternalDataBase &mapping_internal, typename Mapping< dim, spacedim >::InternalDataBase &fe_internal, FEValuesData< dim, spacedim > &data) const
virtual std::size_t memory_consumption() const
virtual Tensor< 1, dim > shape_grad_component(const unsigned int i, const Point< dim > &p, const unsigned int component) const
const unsigned int degree
virtual void get_face_interpolation_matrix(const FiniteElement< dim, spacedim > &source, FullMatrix< double > &matrix) const
virtual void get_subface_interpolation_matrix(const FiniteElement< dim, spacedim > &source, const unsigned int subface, FullMatrix< double > &matrix) const