FE_Adini Class Reference

#include <fe_adini.h>

Inheritance diagram for FE_Adini:

FE_Poly< AdiniPoly, 2 > FiniteElement< dim > Subscriptor FiniteElementData< dim >

List of all members.

Public Member Functions

 FE_Adini ()
virtual std::string get_name () const

Protected Member Functions

virtual
FiniteElement< 2 > * 
clone () const
virtual void fill_fe_values (const Mapping< 2 > &mapping, const Triangulation< 2 >::cell_iterator &cell, const Quadrature< 2 > &quadrature, Mapping< 2 >::InternalDataBase &mapping_internal, Mapping< 2 >::InternalDataBase &fe_internal, FEValuesData< 2 > &data) const
virtual void fill_fe_face_values (const Mapping< 2 > &mapping, const Triangulation< 2 >::cell_iterator &cell, const unsigned int face_no, const Quadrature< 1 > &quadrature, Mapping< 2 >::InternalDataBase &mapping_internal, Mapping< 2 >::InternalDataBase &fe_internal, FEValuesData< 2 > &data) const
virtual void fill_fe_subface_values (const Mapping< 2 > &mapping, const Triangulation< 2 >::cell_iterator &cell, const unsigned int face_no, const unsigned int sub_no, const Quadrature< 1 > &quadrature, Mapping< 2 >::InternalDataBase &mapping_internal, Mapping< 2 >::InternalDataBase &fe_internal, FEValuesData< 2 > &data) const
virtual UpdateFlags update_each (const UpdateFlags flags) const

Private Member Functions

std::vector
< unsigned int
get_dpo_vector ()
void initialize_support_points ()


Detailed Description

This finite element implements a rectangular element that uses evaluation not only of the values but also the gradient at each corner.

adini-element.png

Therefore a polynomial space of dim = 12 is needed. The associated space is implemented in AdiniPoly.

This yiels discontinuous, but not discontinuous differentiable global functions.

Transformation properties

One has to be careful using this element. On rectangular elements no problems occur. The class MyMappingQ1 provides a transformation onto parallelograms.

Numbering of the degrees of freedom (DoFs)

The numbering of the degrees of freedom is as follows. The numbering begins at the first corner with the degree of freedom associated with the value, then degrees of freedom for $\partial_x$ and $\partial_y$ follow.

Author:
Bärbel Janssen, 2007

Constructor & Destructor Documentation

FE_Adini::FE_Adini (  ) 

Constructor


Member Function Documentation

std::string FE_Adini::get_name (  )  const [virtual]

Return a string that uniquely identifies a finite element. This class returns FE_Adini.

Implements FiniteElement< dim >.

FiniteElement< 2 > * FE_Adini::clone (  )  const [protected, virtual]

clone function instead of a copy constructor.

This function is needed by the constructors of FESystem.

Implements FiniteElement< dim >.

void FE_Adini::fill_fe_values ( const Mapping< 2 > &  mapping,
const Triangulation< 2 >::cell_iterator cell,
const Quadrature< 2 > &  quadrature,
Mapping< 2 >::InternalDataBase mapping_internal,
Mapping< 2 >::InternalDataBase fe_internal,
FEValuesData< 2 > &  data 
) const [protected, virtual]

virtual void FE_Adini::fill_fe_face_values ( const Mapping< 2 > &  mapping,
const Triangulation< 2 >::cell_iterator cell,
const unsigned int  face_no,
const Quadrature< 1 > &  quadrature,
Mapping< 2 >::InternalDataBase mapping_internal,
Mapping< 2 >::InternalDataBase fe_internal,
FEValuesData< 2 > &  data 
) const [protected, virtual]

virtual void FE_Adini::fill_fe_subface_values ( const Mapping< 2 > &  mapping,
const Triangulation< 2 >::cell_iterator cell,
const unsigned int  face_no,
const unsigned int  sub_no,
const Quadrature< 1 > &  quadrature,
Mapping< 2 >::InternalDataBase mapping_internal,
Mapping< 2 >::InternalDataBase fe_internal,
FEValuesData< 2 > &  data 
) const [protected, virtual]

UpdateFlags FE_Adini::update_each ( 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.

Reimplemented from FE_Poly< AdiniPoly, 2 >.

std::vector< unsigned int > FE_Adini::get_dpo_vector (  )  [private]

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.

void FE_Adini::initialize_support_points (  )  [private]

Initialize the unit_support_points field of the FiniteElement class. Called from the constructor.


The documentation for this class was generated from the following files:
Generated on Thu Oct 9 14:52:45 2008 for Additional Finite Elements for deal.II by  doxygen 1.5.3