16 #ifndef dealii_fe_dgp_nonparametric_h 17 #define dealii_fe_dgp_nonparametric_h 19 #include <deal.II/base/config.h> 21 #include <deal.II/base/polynomial.h> 22 #include <deal.II/base/polynomial_space.h> 24 #include <deal.II/fe/fe.h> 25 #include <deal.II/fe/mapping.h> 27 DEAL_II_NAMESPACE_OPEN
270 template <
int dim,
int spacedim = dim>
287 virtual std::unique_ptr<FiniteElement<dim, spacedim>>
288 clone()
const override;
320 const unsigned int component)
const override;
348 const unsigned int component)
const override;
376 const unsigned int component)
const override;
413 const unsigned int subface,
439 virtual std::vector<std::pair<unsigned int, unsigned int>>
450 virtual std::vector<std::pair<unsigned int, unsigned int>>
461 virtual std::vector<std::pair<unsigned int, unsigned int>>
481 const unsigned int codim = 0)
const override final;
493 const unsigned int face_index)
const override;
511 virtual std::unique_ptr<
519 &output_data)
const override;
528 const ::internal::FEValuesImplementation::MappingRelatedData<dim,
534 &output_data)
const override;
539 const unsigned int face_no,
543 const ::internal::FEValuesImplementation::MappingRelatedData<dim,
549 &output_data)
const override;
552 fill_fe_subface_values(
554 const unsigned int face_no,
555 const unsigned int sub_no,
559 const ::internal::FEValuesImplementation::MappingRelatedData<dim,
565 &output_data)
const override;
574 static std::vector<unsigned int>
591 DEAL_II_NAMESPACE_CLOSE
virtual Tensor< 1, dim > shape_grad(const unsigned int i, const Point< dim > &p) const override
friend class FE_DGPNonparametric
virtual std::vector< std::pair< unsigned int, unsigned int > > hp_vertex_dof_identities(const FiniteElement< dim, spacedim > &fe_other) const override
virtual std::size_t memory_consumption() const override
virtual void get_subface_interpolation_matrix(const FiniteElement< dim, spacedim > &source, const unsigned int subface, FullMatrix< double > &matrix) const override
virtual double shape_value(const unsigned int i, const Point< dim > &p) const override
const unsigned int degree
virtual double shape_value_component(const unsigned int i, const Point< dim > &p, const unsigned int component) const override
const PolynomialSpace< dim > polynomial_space
virtual UpdateFlags requires_update_flags(const UpdateFlags update_flags) const override
virtual bool hp_constraints_are_implemented() const override
unsigned int get_degree() const
virtual FiniteElementDomination::Domination compare_for_domination(const FiniteElement< dim, spacedim > &fe_other, const unsigned int codim=0) const override final
Abstract base class for mapping classes.
virtual std::unique_ptr< typename FiniteElement< dim, spacedim >::InternalDataBase > get_data(const UpdateFlags update_flags, const Mapping< dim, spacedim > &mapping, const Quadrature< dim > &quadrature, ::internal::FEValuesImplementation::FiniteElementRelatedData< dim, spacedim > &output_data) const override
virtual std::vector< std::pair< unsigned int, unsigned int > > hp_line_dof_identities(const FiniteElement< dim, spacedim > &fe_other) const override
virtual Tensor< 1, dim > shape_grad_component(const unsigned int i, const Point< dim > &p, const unsigned int component) const override
virtual std::vector< std::pair< unsigned int, unsigned int > > hp_quad_dof_identities(const FiniteElement< dim, spacedim > &fe_other) const override
virtual Tensor< 2, dim > shape_grad_grad(const unsigned int i, const Point< dim > &p) const override
virtual void get_face_interpolation_matrix(const FiniteElement< dim, spacedim > &source, FullMatrix< double > &matrix) const override
virtual std::string get_name() const override
virtual Tensor< 2, dim > shape_grad_grad_component(const unsigned int i, const Point< dim > &p, const unsigned int component) const override
virtual bool has_support_on_face(const unsigned int shape_index, const unsigned int face_index) const override
static std::vector< unsigned int > get_dpo_vector(const unsigned int degree)
virtual std::unique_ptr< FiniteElement< dim, spacedim > > clone() const override