Reference documentation for deal.II version 8.5.1
|
#include <deal.II/fe/fe_dgp_nonparametric.h>
Classes | |
struct | Matrices |
Public Member Functions | |
FE_DGPNonparametric (const unsigned int k) | |
virtual std::string | get_name () const |
virtual UpdateFlags | requires_update_flags (const UpdateFlags update_flags) const |
virtual double | shape_value (const unsigned int i, const Point< dim > &p) const |
virtual double | shape_value_component (const unsigned int i, const Point< dim > &p, const unsigned int component) const |
virtual Tensor< 1, dim > | shape_grad (const unsigned int i, const Point< dim > &p) const |
virtual Tensor< 1, dim > | shape_grad_component (const unsigned int i, const Point< dim > &p, const unsigned int component) const |
virtual Tensor< 2, dim > | shape_grad_grad (const unsigned int i, const Point< dim > &p) const |
virtual Tensor< 2, dim > | shape_grad_grad_component (const unsigned int i, const Point< dim > &p, const unsigned int component) const |
unsigned int | get_degree () const |
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 |
virtual bool | has_support_on_face (const unsigned int shape_index, const unsigned int face_index) const |
virtual std::size_t | memory_consumption () const |
Functions to support hp | |
virtual std::vector< std::pair< unsigned int, unsigned int > > | hp_vertex_dof_identities (const FiniteElement< dim, spacedim > &fe_other) const |
virtual std::vector< std::pair< unsigned int, unsigned int > > | hp_line_dof_identities (const FiniteElement< dim, spacedim > &fe_other) const |
virtual std::vector< std::pair< unsigned int, unsigned int > > | hp_quad_dof_identities (const FiniteElement< dim, spacedim > &fe_other) const |
virtual bool | hp_constraints_are_implemented () const |
virtual FiniteElementDomination::Domination | compare_for_face_domination (const FiniteElement< dim, spacedim > &fe_other) const |
Public Member Functions inherited from FiniteElement< dim, spacedim > | |
FiniteElement (const FiniteElementData< dim > &fe_data, const std::vector< bool > &restriction_is_additive_flags, const std::vector< ComponentMask > &nonzero_components) | |
virtual | ~FiniteElement () |
const FiniteElement< dim, spacedim > & | operator[] (const unsigned int fe_index) const |
bool | operator== (const FiniteElement< dim, spacedim > &) const |
virtual Tensor< 3, dim > | shape_3rd_derivative (const unsigned int i, const Point< dim > &p) const |
virtual Tensor< 3, dim > | shape_3rd_derivative_component (const unsigned int i, const Point< dim > &p, const unsigned int component) const |
virtual Tensor< 4, dim > | shape_4th_derivative (const unsigned int i, const Point< dim > &p) const |
virtual Tensor< 4, dim > | shape_4th_derivative_component (const unsigned int i, const Point< dim > &p, const unsigned int component) const |
virtual const FullMatrix< double > & | get_restriction_matrix (const unsigned int child, const RefinementCase< dim > &refinement_case=RefinementCase< dim >::isotropic_refinement) const |
virtual const FullMatrix< double > & | get_prolongation_matrix (const unsigned int child, const RefinementCase< dim > &refinement_case=RefinementCase< dim >::isotropic_refinement) const |
bool | prolongation_is_implemented () const |
bool | isotropic_prolongation_is_implemented () const |
bool | restriction_is_implemented () const |
bool | isotropic_restriction_is_implemented () const |
bool | restriction_is_additive (const unsigned int index) const |
const FullMatrix< double > & | constraints (const ::internal::SubfaceCase< dim > &subface_case=::internal::SubfaceCase< dim >::case_isotropic) const |
bool | constraints_are_implemented (const ::internal::SubfaceCase< dim > &subface_case=::internal::SubfaceCase< dim >::case_isotropic) const |
virtual void | get_interpolation_matrix (const FiniteElement< dim, spacedim > &source, FullMatrix< double > &matrix) const |
std::pair< unsigned int, unsigned int > | system_to_component_index (const unsigned int index) const |
unsigned int | component_to_system_index (const unsigned int component, const unsigned int index) const |
std::pair< unsigned int, unsigned int > | face_system_to_component_index (const unsigned int index) const |
unsigned int | adjust_quad_dof_index_for_face_orientation (const unsigned int index, const bool face_orientation, const bool face_flip, const bool face_rotation) const |
virtual unsigned int | face_to_cell_index (const unsigned int face_dof_index, const unsigned int face, const bool face_orientation=true, const bool face_flip=false, const bool face_rotation=false) const |
unsigned int | adjust_line_dof_index_for_line_orientation (const unsigned int index, const bool line_orientation) const |
const ComponentMask & | get_nonzero_components (const unsigned int i) const |
unsigned int | n_nonzero_components (const unsigned int i) const |
bool | is_primitive () const |
bool | is_primitive (const unsigned int i) const |
unsigned int | n_base_elements () const |
virtual const FiniteElement< dim, spacedim > & | base_element (const unsigned int index) const |
unsigned int | element_multiplicity (const unsigned int index) const |
std::pair< std::pair< unsigned int, unsigned int >, unsigned int > | system_to_base_index (const unsigned int index) const |
std::pair< std::pair< unsigned int, unsigned int >, unsigned int > | face_system_to_base_index (const unsigned int index) const |
types::global_dof_index | first_block_of_base (const unsigned int b) const |
std::pair< unsigned int, unsigned int > | component_to_base_index (const unsigned int component) const |
std::pair< unsigned int, unsigned int > | block_to_base_index (const unsigned int block) const |
std::pair< unsigned int, types::global_dof_index > | system_to_block_index (const unsigned int component) const |
unsigned int | component_to_block_index (const unsigned int component) const |
ComponentMask | component_mask (const FEValuesExtractors::Scalar &scalar) const |
ComponentMask | component_mask (const FEValuesExtractors::Vector &vector) const |
ComponentMask | component_mask (const FEValuesExtractors::SymmetricTensor< 2 > &sym_tensor) const |
ComponentMask | component_mask (const BlockMask &block_mask) const |
BlockMask | block_mask (const FEValuesExtractors::Scalar &scalar) const |
BlockMask | block_mask (const FEValuesExtractors::Vector &vector) const |
BlockMask | block_mask (const FEValuesExtractors::SymmetricTensor< 2 > &sym_tensor) const |
BlockMask | block_mask (const ComponentMask &component_mask) const |
virtual std::pair< Table< 2, bool >, std::vector< unsigned int > > | get_constant_modes () const |
const std::vector< Point< dim > > & | get_unit_support_points () const |
bool | has_support_points () const |
virtual Point< dim > | unit_support_point (const unsigned int index) const |
const std::vector< Point< dim-1 > > & | get_unit_face_support_points () const |
bool | has_face_support_points () const |
virtual Point< dim-1 > | unit_face_support_point (const unsigned int index) const |
const std::vector< Point< dim > > & | get_generalized_support_points () const |
bool | has_generalized_support_points () const |
const std::vector< Point< dim-1 > > & | get_generalized_face_support_points () const |
bool | has_generalized_face_support_points () const |
GeometryPrimitive | get_associated_geometry_primitive (const unsigned int cell_dof_index) const |
virtual void | convert_generalized_support_point_values_to_nodal_values (const std::vector< Vector< double > > &support_point_values, std::vector< double > &nodal_values) const |
virtual void | interpolate (std::vector< double > &local_dofs, const std::vector< double > &values) const 1 |
virtual void | interpolate (std::vector< double > &local_dofs, const std::vector< Vector< double > > &values, const unsigned int offset=0) const 1 |
virtual void | interpolate (std::vector< double > &local_dofs, const VectorSlice< const std::vector< std::vector< double > > > &values) const 1 |
Public Member Functions inherited from Subscriptor | |
Subscriptor () | |
Subscriptor (const Subscriptor &) | |
Subscriptor (Subscriptor &&) | |
virtual | ~Subscriptor () |
Subscriptor & | operator= (const Subscriptor &) |
Subscriptor & | operator= (Subscriptor &&) |
void | subscribe (const char *identifier=0) const |
void | unsubscribe (const char *identifier=0) const |
unsigned int | n_subscriptions () const |
void | list_subscribers () const |
template<class Archive > | |
void | serialize (Archive &ar, const unsigned int version) |
Public Member Functions inherited from FiniteElementData< dim > | |
FiniteElementData (const std::vector< unsigned int > &dofs_per_object, const unsigned int n_components, const unsigned int degree, const Conformity conformity=unknown, const BlockIndices &block_indices=BlockIndices()) | |
unsigned int | n_dofs_per_vertex () const |
unsigned int | n_dofs_per_line () const |
unsigned int | n_dofs_per_quad () const |
unsigned int | n_dofs_per_hex () const |
unsigned int | n_dofs_per_face () const |
unsigned int | n_dofs_per_cell () const |
template<int structdim> | |
unsigned int | n_dofs_per_object () const |
unsigned int | n_components () const |
unsigned int | n_blocks () const |
const BlockIndices & | block_indices () const |
unsigned int | tensor_degree () const |
bool | conforms (const Conformity) const |
bool | operator== (const FiniteElementData &) const |
Protected Member Functions | |
virtual FiniteElement< dim, spacedim > * | clone () const |
virtual FiniteElement< dim, spacedim >::InternalDataBase * | get_data (const UpdateFlags update_flags, const Mapping< dim, spacedim > &mapping, const Quadrature< dim > &quadrature, ::internal::FEValues::FiniteElementRelatedData< dim, spacedim > &output_data) const |
Protected Member Functions inherited from FiniteElement< dim, spacedim > | |
void | reinit_restriction_and_prolongation_matrices (const bool isotropic_restriction_only=false, const bool isotropic_prolongation_only=false) |
TableIndices< 2 > | interface_constraints_size () const |
virtual InternalDataBase * | get_face_data (const UpdateFlags update_flags, const Mapping< dim, spacedim > &mapping, const Quadrature< dim-1 > &quadrature, ::internal::FEValues::FiniteElementRelatedData< dim, spacedim > &output_data) const |
virtual InternalDataBase * | get_subface_data (const UpdateFlags update_flags, const Mapping< dim, spacedim > &mapping, const Quadrature< dim-1 > &quadrature, ::internal::FEValues::FiniteElementRelatedData< dim, spacedim > &output_data) const |
virtual void | fill_fe_values (const typename Triangulation< dim, spacedim >::cell_iterator &cell, const CellSimilarity::Similarity cell_similarity, const Quadrature< dim > &quadrature, const Mapping< dim, spacedim > &mapping, const typename Mapping< dim, spacedim >::InternalDataBase &mapping_internal, const ::internal::FEValues::MappingRelatedData< dim, spacedim > &mapping_data, const InternalDataBase &fe_internal, ::internal::FEValues::FiniteElementRelatedData< dim, spacedim > &output_data) const =0 |
virtual void | fill_fe_face_values (const typename Triangulation< dim, spacedim >::cell_iterator &cell, const unsigned int face_no, const Quadrature< dim-1 > &quadrature, const Mapping< dim, spacedim > &mapping, const typename Mapping< dim, spacedim >::InternalDataBase &mapping_internal, const ::internal::FEValues::MappingRelatedData< dim, spacedim > &mapping_data, const InternalDataBase &fe_internal, ::internal::FEValues::FiniteElementRelatedData< dim, spacedim > &output_data) const =0 |
virtual void | fill_fe_subface_values (const typename Triangulation< dim, spacedim >::cell_iterator &cell, const unsigned int face_no, const unsigned int sub_no, const Quadrature< dim-1 > &quadrature, const Mapping< dim, spacedim > &mapping, const typename Mapping< dim, spacedim >::InternalDataBase &mapping_internal, const ::internal::FEValues::MappingRelatedData< dim, spacedim > &mapping_data, const InternalDataBase &fe_internal, ::internal::FEValues::FiniteElementRelatedData< dim, spacedim > &output_data) const =0 |
Static Private Member Functions | |
static std::vector< unsigned int > | get_dpo_vector (const unsigned int degree) |
Private Attributes | |
const PolynomialSpace< dim > | polynomial_space |
Friends | |
template<int , int > | |
class | FE_DGPNonparametric |
Additional Inherited Members | |
Public Types inherited from FiniteElementData< dim > | |
enum | Conformity { unknown = 0x00, L2 = 0x01, Hcurl = 0x02, Hdiv = 0x04, H1 = Hcurl | Hdiv, H2 = 0x0e } |
Static Public Member Functions inherited from FiniteElement< dim, spacedim > | |
static ::ExceptionBase & | ExcShapeFunctionNotPrimitive (int arg1) |
static ::ExceptionBase & | ExcFENotPrimitive () |
static ::ExceptionBase & | ExcUnitShapeValuesDoNotExist () |
static ::ExceptionBase & | ExcFEHasNoSupportPoints () |
static ::ExceptionBase & | ExcEmbeddingVoid () |
static ::ExceptionBase & | ExcProjectionVoid () |
static ::ExceptionBase & | ExcWrongInterfaceMatrixSize (int arg1, int arg2) |
static ::ExceptionBase & | ExcInterpolationNotImplemented () |
Static Public Member Functions inherited from Subscriptor | |
static ::ExceptionBase & | ExcInUse (int arg1, char *arg2, std::string &arg3) |
static ::ExceptionBase & | ExcNoSubscriber (char *arg1, char *arg2) |
Public Attributes inherited from FiniteElementData< dim > | |
const unsigned int | dofs_per_vertex |
const unsigned int | dofs_per_line |
const unsigned int | dofs_per_quad |
const unsigned int | dofs_per_hex |
const unsigned int | first_line_index |
const unsigned int | first_quad_index |
const unsigned int | first_hex_index |
const unsigned int | first_face_line_index |
const unsigned int | first_face_quad_index |
const unsigned int | dofs_per_face |
const unsigned int | dofs_per_cell |
const unsigned int | components |
const unsigned int | degree |
const Conformity | conforming_space |
const BlockIndices | block_indices_data |
Static Public Attributes inherited from FiniteElement< dim, spacedim > | |
static const unsigned int | space_dimension = spacedim |
Static Public Attributes inherited from FiniteElementData< dim > | |
static const unsigned int | dimension = dim |
Static Protected Member Functions inherited from FiniteElement< dim, spacedim > | |
static std::vector< unsigned int > | compute_n_nonzero_components (const std::vector< ComponentMask > &nonzero_components) |
Protected Attributes inherited from FiniteElement< dim, spacedim > | |
std::vector< std::vector< FullMatrix< double > > > | restriction |
std::vector< std::vector< FullMatrix< double > > > | prolongation |
FullMatrix< double > | interface_constraints |
std::vector< Point< dim > > | unit_support_points |
std::vector< Point< dim-1 > > | unit_face_support_points |
std::vector< Point< dim > > | generalized_support_points |
std::vector< Point< dim-1 > > | generalized_face_support_points |
Table< 2, int > | adjust_quad_dof_index_for_face_orientation_table |
std::vector< int > | adjust_line_dof_index_for_line_orientation_table |
std::vector< std::pair< unsigned int, unsigned int > > | system_to_component_table |
std::vector< std::pair< unsigned int, unsigned int > > | face_system_to_component_table |
std::vector< std::pair< std::pair< unsigned int, unsigned int >, unsigned int > > | system_to_base_table |
std::vector< std::pair< std::pair< unsigned int, unsigned int >, unsigned int > > | face_system_to_base_table |
BlockIndices | base_to_block_indices |
std::vector< std::pair< std::pair< unsigned int, unsigned int >, unsigned int > > | component_to_base_table |
const std::vector< bool > | restriction_is_additive_flags |
const std::vector< ComponentMask > | nonzero_components |
const std::vector< unsigned int > | n_nonzero_components_table |
const bool | cached_primitivity |
Discontinuous finite elements evaluated at the mapped quadrature points.
Warning: this class does not work properly, yet. Don't use it!
This finite element implements complete polynomial spaces, that is, \(d\)-dimensional polynomials of order \(k\).
The polynomials are not mapped. Therefore, they are constant, linear, quadratic, etc. on any grid cell.
Since the polynomials are evaluated at the quadrature points of the actual grid cell, no grid transfer and interpolation matrices are available.
The purpose of this class is experimental, therefore the implementation will remain incomplete.
Besides, this class is not implemented for the codimension one case (spacedim != dim
).
In 2d, the shape functions of this element look as follows.
\(P_0\) element, shape function 0 |
\(P_1\) element, shape function 0 | \(P_1\) element, shape function 1 |
\(P_1\) element, shape function 2 |
\(P_2\) element, shape function 0 | \(P_2\) element, shape function 1 |
\(P_2\) element, shape function 2 | \(P_2\) element, shape function 3 |
\(P_2\) element, shape function 4 | \(P_2\) element, shape function 5 |
\(P_3\) element, shape function 0 | \(P_3\) element, shape function 1 |
\(P_3\) element, shape function 2 | \(P_3\) element, shape function 3 |
\(P_3\) element, shape function 4 | \(P_3\) element, shape function 5 |
\(P_3\) element, shape function 6 | \(P_3\) element, shape function 7 |
\(P_3\) element, shape function 8 | \(P_3\) element, shape function 9 |
\(P_4\) element, shape function 0 | \(P_4\) element, shape function 1 |
\(P_4\) element, shape function 2 | \(P_4\) element, shape function 3 |
\(P_4\) element, shape function 4 | \(P_4\) element, shape function 5 |
\(P_4\) element, shape function 6 | \(P_4\) element, shape function 7 |
\(P_4\) element, shape function 8 | \(P_4\) element, shape function 9 |
\(P_4\) element, shape function 10 | \(P_4\) element, shape function 11 |
\(P_4\) element, shape function 12 | \(P_4\) element, shape function 13 |
\(P_4\) element, shape function 14 |
This element does not have an InternalData class, unlike all other elements, because the InternalData classes are used to store things that can be computed once and reused multiple times (such as the values of shape functions at quadrature points on the reference cell). However, because the element is not mapped, this element has nothing that could be computed on the reference cell – everything needs to be computed on the real cell – and consequently there is nothing we'd like to store in such an object. We can thus simply use the members already provided by FiniteElement::InternalDataBase without adding anything in a derived class in this class.
Definition at line 269 of file fe_dgp_nonparametric.h.
FE_DGPNonparametric< dim, spacedim >::FE_DGPNonparametric | ( | const unsigned int | k | ) |
Constructor for tensor product polynomials of degree k
.
Definition at line 31 of file fe_dgp_nonparametric.cc.
|
virtual |
Return a string that uniquely identifies a finite element. This class returns FE_DGPNonparametric<dim>(degree)
, with dim
and degree
replaced by appropriate values.
Implements FiniteElement< dim, spacedim >.
Definition at line 97 of file fe_dgp_nonparametric.cc.
|
virtual |
Given a set of update flags, compute which other quantities also need to be computed in order to satisfy the request by the given flags. Then return the combination of the original set of flags and those just computed.
As an example, if update_flags
contains update_gradients a finite element class will typically require the computation of the inverse of the Jacobian matrix in order to rotate the gradient of shape functions on the reference cell to the real cell. It would then return not just update_gradients, but also update_covariant_transformation, the flag that makes the mapping class produce the inverse of the Jacobian matrix.
An extensive discussion of the interaction between this function and FEValues can be found in the How Mapping, FiniteElement, and FEValues work together documentation module.
Implements FiniteElement< dim, spacedim >.
Definition at line 239 of file fe_dgp_nonparametric.cc.
|
virtual |
This function is intended to return the value of a shape function at a point on the reference cell. However, since the current element does not implement shape functions by mapping from a reference cell, no shape functions exist on the reference cell.
Consequently, as discussed in the corresponding function in the base class, FiniteElement::shape_value(), this function throws an exception of type FiniteElement::ExcUnitShapeValuesDoNotExist.
Reimplemented from FiniteElement< dim, spacedim >.
Definition at line 127 of file fe_dgp_nonparametric.cc.
|
virtual |
This function is intended to return the value of a shape function at a point on the reference cell. However, since the current element does not implement shape functions by mapping from a reference cell, no shape functions exist on the reference cell.
Consequently, as discussed in the corresponding function in the base class, FiniteElement::shape_value_component(), this function throws an exception of type FiniteElement::ExcUnitShapeValuesDoNotExist.
Reimplemented from FiniteElement< dim, spacedim >.
Definition at line 141 of file fe_dgp_nonparametric.cc.
|
virtual |
This function is intended to return the gradient of a shape function at a point on the reference cell. However, since the current element does not implement shape functions by mapping from a reference cell, no shape functions exist on the reference cell.
Consequently, as discussed in the corresponding function in the base class, FiniteElement::shape_grad(), this function throws an exception of type FiniteElement::ExcUnitShapeValuesDoNotExist.
Reimplemented from FiniteElement< dim, spacedim >.
Definition at line 158 of file fe_dgp_nonparametric.cc.
|
virtual |
This function is intended to return the gradient of a shape function at a point on the reference cell. However, since the current element does not implement shape functions by mapping from a reference cell, no shape functions exist on the reference cell.
Consequently, as discussed in the corresponding function in the base class, FiniteElement::shape_grad_component(), this function throws an exception of type FiniteElement::ExcUnitShapeValuesDoNotExist.
Reimplemented from FiniteElement< dim, spacedim >.
Definition at line 171 of file fe_dgp_nonparametric.cc.
|
virtual |
This function is intended to return the Hessian of a shape function at a point on the reference cell. However, since the current element does not implement shape functions by mapping from a reference cell, no shape functions exist on the reference cell.
Consequently, as discussed in the corresponding function in the base class, FiniteElement::shape_grad_grad(), this function throws an exception of type FiniteElement::ExcUnitShapeValuesDoNotExist.
Reimplemented from FiniteElement< dim, spacedim >.
Definition at line 188 of file fe_dgp_nonparametric.cc.
|
virtual |
This function is intended to return the Hessian of a shape function at a point on the reference cell. However, since the current element does not implement shape functions by mapping from a reference cell, no shape functions exist on the reference cell.
Consequently, as discussed in the corresponding function in the base class, FiniteElement::shape_grad_grad_component(), this function throws an exception of type FiniteElement::ExcUnitShapeValuesDoNotExist.
Reimplemented from FiniteElement< dim, spacedim >.
Definition at line 202 of file fe_dgp_nonparametric.cc.
unsigned int FE_DGPNonparametric< dim, spacedim >::get_degree | ( | ) | const |
Return the polynomial degree of this finite element, i.e. the value passed to the constructor.
Definition at line 585 of file fe_dgp_nonparametric.cc.
|
virtual |
Return the matrix interpolating from a face of of one element to the face of the neighboring element. The size of the matrix is then source.dofs_per_face
times this->dofs_per_face
.
Derived elements will have to implement this function. They may only provide interpolation matrices for certain source finite elements, for example those from the same family. If they don't implement interpolation from a given element, then they must throw an exception of type FiniteElement<dim,spacedim>::ExcInterpolationNotImplemented.
Reimplemented from FiniteElement< dim, spacedim >.
Definition at line 422 of file fe_dgp_nonparametric.cc.
|
virtual |
Return the matrix interpolating from a face of of one element to the face of the neighboring element. The size of the matrix is then source.dofs_per_face
times this->dofs_per_face
.
Derived elements will have to implement this function. They may only provide interpolation matrices for certain source finite elements, for example those from the same family. If they don't implement interpolation from a given element, then they must throw an exception of type FiniteElement<dim,spacedim>::ExcInterpolationNotImplemented.
Reimplemented from FiniteElement< dim, spacedim >.
Definition at line 452 of file fe_dgp_nonparametric.cc.
|
virtual |
If, on a vertex, several finite elements are active, the hp code first assigns the degrees of freedom of each of these FEs different global indices. It then calls this function to find out which of them should get identical values, and consequently can receive the same global DoF index. This function therefore returns a list of identities between DoFs of the present finite element object with the DoFs of fe_other
, which is a reference to a finite element object representing one of the other finite elements active on this particular vertex. The function computes which of the degrees of freedom of the two finite element objects are equivalent, both numbered between zero and the corresponding value of dofs_per_vertex of the two finite elements. The first index of each pair denotes one of the vertex dofs of the present element, whereas the second is the corresponding index of the other finite element.
This being a discontinuous element, the set of such constraints is of course empty.
Reimplemented from FiniteElement< dim, spacedim >.
Definition at line 492 of file fe_dgp_nonparametric.cc.
|
virtual |
Same as hp_vertex_dof_indices(), except that the function treats degrees of freedom on lines.
This being a discontinuous element, the set of such constraints is of course empty.
Reimplemented from FiniteElement< dim, spacedim >.
Definition at line 511 of file fe_dgp_nonparametric.cc.
|
virtual |
Same as hp_vertex_dof_indices(), except that the function treats degrees of freedom on quads.
This being a discontinuous element, the set of such constraints is of course empty.
Reimplemented from FiniteElement< dim, spacedim >.
Definition at line 530 of file fe_dgp_nonparametric.cc.
|
virtual |
Return whether this element implements its hanging node constraints in the new way, which has to be used to make elements "hp compatible".
For the FE_DGPNonparametric class the result is always true (independent of the degree of the element), as it has no hanging nodes (being a discontinuous element).
Reimplemented from FiniteElement< dim, spacedim >.
Definition at line 482 of file fe_dgp_nonparametric.cc.
|
virtual |
Return whether this element dominates the one given as argument when they meet at a common face, whether it is the other way around, whether neither dominates, or if either could dominate.
For a definition of domination, see FiniteElementDomination::Domination and in particular the hp paper.
Reimplemented from FiniteElement< dim, spacedim >.
Definition at line 549 of file fe_dgp_nonparametric.cc.
|
virtual |
This function returns true
, if the shape function shape_index
has non-zero function values somewhere on the face face_index
.
Reimplemented from FiniteElement< dim, spacedim >.
Definition at line 565 of file fe_dgp_nonparametric.cc.
|
virtual |
Determine an estimate for the memory consumption (in bytes) of this object.
This function is made virtual, since finite element objects are usually accessed through pointers to their base class, rather than the class itself.
Reimplemented from FiniteElement< dim, spacedim >.
Definition at line 575 of file fe_dgp_nonparametric.cc.
|
protectedvirtual |
clone
function instead of a copy constructor.
This function is needed by the constructors of FESystem
.
Implements FiniteElement< dim, spacedim >.
Definition at line 118 of file fe_dgp_nonparametric.cc.
|
protectedvirtual |
Prepare internal data structures and fill in values independent of the cell.
Implements FiniteElement< dim, spacedim >.
Definition at line 258 of file fe_dgp_nonparametric.cc.
|
staticprivate |
Only for internal use. Its full name is get_dofs_per_object_vector
function and it creates the dofs_per_object
vector that is needed within the constructor to be passed to the constructor of FiniteElementData
.
Definition at line 223 of file fe_dgp_nonparametric.cc.
Allow access from other dimensions.
Definition at line 608 of file fe_dgp_nonparametric.h.
|
private |
Pointer to an object representing the polynomial space used here.
Definition at line 603 of file fe_dgp_nonparametric.h.