
Public Member Functions | |
| FE_PolyFace (const POLY &poly_space, const FiniteElementData< dim > &fe_data, const std::vector< bool > &restriction_is_additive_flags) | |
| unsigned int | get_degree () const |
| virtual unsigned int | n_base_elements () const |
| virtual const FiniteElement < dim, spacedim > & | base_element (const unsigned int index) const |
| virtual unsigned int | element_multiplicity (const unsigned int index) const |
Protected Member Functions | |
| virtual Mapping< dim, spacedim > ::InternalDataBase * | get_data (const UpdateFlags, const Mapping< dim, spacedim > &mapping, const Quadrature< dim > &quadrature) const |
| Mapping< dim, spacedim > ::InternalDataBase * | get_face_data (const UpdateFlags, const Mapping< dim, spacedim > &mapping, const Quadrature< dim-1 > &quadrature) const |
| Mapping< dim, spacedim > ::InternalDataBase * | get_subface_data (const UpdateFlags, const Mapping< dim, spacedim > &mapping, const Quadrature< dim-1 > &quadrature) const |
| 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 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 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 UpdateFlags | update_once (const UpdateFlags flags) const |
| virtual UpdateFlags | update_each (const UpdateFlags flags) const |
Protected Attributes | |
| POLY | poly_space |
Classes | |
| class | InternalData |
Every class that implements following functions can be used as template parameter POLY.
double compute_value (const unsigned int i, const Point<dim> &p) const;
This class is not a fully implemented FiniteElement class. Instead there are several pure virtual functions declared in the FiniteElement and FiniteElement classes which cannot implemented by this class but are left for implementation in derived classes.
Furthermore, this class assumes that shape functions of the FiniteElement under consideration do not depend on the actual shape of the cells in real space, i.e. update_once() includes update_values. For FiniteElements whose shape functions depend on the cells in real space, the update_once() and update_each() functions must be overloaded.
| FE_PolyFace< POLY, dim, spacedim >::FE_PolyFace | ( | const POLY & | poly_space, | |
| const FiniteElementData< dim > & | fe_data, | |||
| const std::vector< bool > & | restriction_is_additive_flags | |||
| ) |
Constructor.
| unsigned int FE_PolyFace< POLY, dim, spacedim >::get_degree | ( | ) | const |
Return the polynomial degree of this finite element, i.e. the value passed to the constructor.
| virtual unsigned int FE_PolyFace< POLY, dim, spacedim >::n_base_elements | ( | ) | const [virtual] |
Return the value of the ith shape function at the point p. See the FiniteElement base class for more information about the semantics of this function. Return the value of the componentth vector component of the ith shape function at the point p. See the FiniteElement base class for more information about the semantics of this function.
Since this element is scalar, the returned value is the same as if the function without the _component suffix were called, provided that the specified component is zero. Return the gradient of the ith shape function at the point p. See the FiniteElement base class for more information about the semantics of this function. Return the gradient of the componentth vector component of the ith shape function at the point p. See the FiniteElement base class for more information about the semantics of this function.
Since this element is scalar, the returned value is the same as if the function without the _component suffix were called, provided that the specified component is zero. Return the tensor of second derivatives of the ith shape function at point p on the unit cell. See the FiniteElement base class for more information about the semantics of this function. Return the second derivative of the componentth vector component of the ith shape function at the point p. See the FiniteElement base class for more information about the semantics of this function.
Since this element is scalar, the returned value is the same as if the function without the _component suffix were called, provided that the specified component is zero. Number of base elements in a mixed discretization. Since this is a scalar element, return one.
Implements FiniteElement< dim, spacedim >.
| virtual const FiniteElement<dim,spacedim>& FE_PolyFace< POLY, dim, spacedim >::base_element | ( | const unsigned int | index | ) | const [virtual] |
Access to base element objects. Since this element is scalar, base_element(0) is this, and all other indices throw an error.
Implements FiniteElement< dim, spacedim >.
| virtual unsigned int FE_PolyFace< POLY, dim, spacedim >::element_multiplicity | ( | const unsigned int | index | ) | const [virtual] |
Multiplicity of base element index. Since this is a scalar element, element_multiplicity(0) returns one, and all other indices will throw an error.
Implements FiniteElement< dim, spacedim >.
| virtual Mapping<dim,spacedim>::InternalDataBase* FE_PolyFace< POLY, dim, spacedim >::get_data | ( | const | flags, | |
| const Mapping< dim, spacedim > & | mapping, | |||
| const Quadrature< dim > & | quadrature | |||
| ) | const [protected, virtual] |
Prepare internal data structures and fill in values independent of the cell. Returns a pointer to an object of which the caller of this function then has to assume ownership (which includes destruction when it is no more needed).
Implements FiniteElement< dim, spacedim >.
| Mapping<dim,spacedim>::InternalDataBase* FE_PolyFace< POLY, dim, spacedim >::get_face_data | ( | const | flags, | |
| const Mapping< dim, spacedim > & | mapping, | |||
| const Quadrature< dim-1 > & | quadrature | |||
| ) | const [protected, virtual] |
Prepare internal data structure for transformation of faces and fill in values independent of the cell. Returns a pointer to an object of which the caller of this function then has to assume ownership (which includes destruction when it is no more needed).
Reimplemented from FiniteElement< dim, spacedim >.
| Mapping<dim,spacedim>::InternalDataBase* FE_PolyFace< POLY, dim, spacedim >::get_subface_data | ( | const | flags, | |
| const Mapping< dim, spacedim > & | mapping, | |||
| const Quadrature< dim-1 > & | quadrature | |||
| ) | const [protected, virtual] |
Prepare internal data structure for transformation of children of faces and fill in values independent of the cell. Returns a pointer to an object of which the caller of this function then has to assume ownership (which includes destruction when it is no more needed).
Reimplemented from FiniteElement< dim, spacedim >.
| virtual void FE_PolyFace< POLY, dim, spacedim >::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 [protected, virtual] |
Fill the fields of FEValues. This function performs all the operations needed to compute the data of an FEValues object.
The same function in mapping must have been called for the same cell first!
Implements FiniteElement< dim, spacedim >.
| virtual void FE_PolyFace< POLY, dim, spacedim >::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 [protected, virtual] |
Fill the fields of FEFaceValues. This function performs all the operations needed to compute the data of an FEFaceValues object.
The same function in mapping must have been called for the same cell first!
Implements FiniteElement< dim, spacedim >.
| virtual void FE_PolyFace< POLY, dim, spacedim >::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 [protected, virtual] |
Fill the fields of FESubfaceValues. This function performs all the operations needed to compute the data of an FESubfaceValues object.
The same function in mapping must have been called for the same cell first!
Implements FiniteElement< dim, spacedim >.
| virtual UpdateFlags FE_PolyFace< POLY, dim, spacedim >::update_once | ( | const UpdateFlags | flags | ) | const [protected, virtual] |
Determine the values that need to be computed on the unit cell to be able to compute all values required by flags.
For the purpuse of this function, refer to the documentation in FiniteElement.
This class assumes that shape functions of this FiniteElement do not depend on the actual shape of the cells in real space. Therefore, the effect in this element is as follows: if update_values is set in flags, copy it to the result. All other flags of the result are cleared, since everything else must be computed for each cell.
Implements FiniteElement< dim, spacedim >.
| virtual UpdateFlags FE_PolyFace< POLY, dim, spacedim >::update_each | ( | const UpdateFlags | flags | ) | const [protected, virtual] |
Determine the values that need to be computed on every cell to be able to compute all values required by flags.
For the purpuse of this function, refer to the documentation in FiniteElement.
This class assumes that shape functions of this FiniteElement do not depend on the actual shape of the cells in real space.
The effect in this element is as follows:
update_gradients is set, the result will contain update_gradients and update_covariant_transformation. The latter is required to transform the gradient on the unit cell to the real cell. Remark, that the action required by update_covariant_transformation is actually performed by the Mapping object used in conjunction with this finite element. update_hessians is set, the result will contain update_hessians and update_covariant_transformation. The rationale is the same as above and no higher derivatives of the transformation are required, since we use difference quotients for the actual computation.
Implements FiniteElement< dim, spacedim >.
POLY FE_PolyFace< POLY, dim, spacedim >::poly_space [protected] |
The polynomial space. Its type is given by the template parameter POLY.
documentation generated on Wed Jul 28 23:06:26 2010 by
doxygen
1.5.6