FEFaceValues< dim, spacedim > Class Template Reference
[Finite element access/FEValues classes]

Inheritance diagram for FEFaceValues< dim, spacedim >:

Inheritance graph
[legend]

List of all members.

Public Member Functions

 FEFaceValues (const Mapping< dim, spacedim > &mapping, const FiniteElement< dim, spacedim > &fe, const Quadrature< dim-1 > &quadrature, const UpdateFlags update_flags)
 FEFaceValues (const FiniteElement< dim, spacedim > &fe, const Quadrature< dim-1 > &quadrature, const UpdateFlags update_flags)
void reinit (const typename DoFHandler< dim, spacedim >::cell_iterator &cell, const unsigned int face_no)
void reinit (const typename hp::DoFHandler< dim, spacedim >::cell_iterator &cell, const unsigned int face_no)
void reinit (const typename MGDoFHandler< dim, spacedim >::cell_iterator &cell, const unsigned int face_no)
void reinit (const typename Triangulation< dim, spacedim >::cell_iterator &cell, const unsigned int face_no)
const FEFaceValues< dim,
spacedim > & 
get_present_fe_values () const

Static Public Attributes

static const unsigned int dimension = dim
static const unsigned int space_dimension = spacedim
static const unsigned int integral_dimension = dim-1

Private Member Functions

void initialize (const UpdateFlags update_flags)
void do_reinit (const unsigned int face_no)


Detailed Description

template<int dim, int spacedim = dim>
class FEFaceValues< dim, spacedim >

Finite element evaluated in quadrature points on a face.

This class adds the functionality of FEFaceValuesBase to FEValues; see there for more documentation.

Since finite element functions and their derivatives may be discontinuous at cell boundaries, there is no restriction of this function to a mesh face. But, there are limits of these values approaching the face from either of the neighboring cells.

Author:
Wolfgang Bangerth, 1998, Guido Kanschat, 2000, 2001

Constructor & Destructor Documentation

template<int dim, int spacedim = dim>
FEFaceValues< dim, spacedim >::FEFaceValues ( const Mapping< dim, spacedim > &  mapping,
const FiniteElement< dim, spacedim > &  fe,
const Quadrature< dim-1 > &  quadrature,
const UpdateFlags  update_flags 
)

Constructor. Gets cell independent data from mapping and finite element objects, matching the quadrature rule and update flags.

template<int dim, int spacedim = dim>
FEFaceValues< dim, spacedim >::FEFaceValues ( const FiniteElement< dim, spacedim > &  fe,
const Quadrature< dim-1 > &  quadrature,
const UpdateFlags  update_flags 
)

Constructor. Uses MappingQ1 implicitly.


Member Function Documentation

template<int dim, int spacedim = dim>
void FEFaceValues< dim, spacedim >::reinit ( const typename DoFHandler< dim, spacedim >::cell_iterator &  cell,
const unsigned int  face_no 
)

Reinitialize the gradients, Jacobi determinants, etc for the face with number face_no of cell and the given finite element.

template<int dim, int spacedim = dim>
void FEFaceValues< dim, spacedim >::reinit ( const typename hp::DoFHandler< dim, spacedim >::cell_iterator &  cell,
const unsigned int  face_no 
)

Reinitialize the gradients, Jacobi determinants, etc for the given cell of type "iterator into a hp::DoFHandler object", and the finite element associated with this object. It is assumed that the finite element used by the given cell is also the one used by this FEValues object.

template<int dim, int spacedim = dim>
void FEFaceValues< dim, spacedim >::reinit ( const typename MGDoFHandler< dim, spacedim >::cell_iterator &  cell,
const unsigned int  face_no 
)

Reinitialize the gradients, Jacobi determinants, etc for the given cell of type "iterator into a MGDoFHandler object", and the finite element associated with this object. It is assumed that the finite element used by the given cell is also the one used by this FEValues object.

template<int dim, int spacedim = dim>
void FEFaceValues< dim, spacedim >::reinit ( const typename Triangulation< dim, spacedim >::cell_iterator &  cell,
const unsigned int  face_no 
)

Reinitialize the gradients, Jacobi determinants, etc for the given face on given cell of type "iterator into a Triangulation object", and the given finite element. Since iterators into triangulation alone only convey information about the geometry of a cell, but not about degrees of freedom possibly associated with this cell, you will not be able to call some functions of this class if they need information about degrees of freedom. These functions are, above all, the get_function_value/gradients/hessians functions. If you want to call these functions, you have to call the reinit variants that take iterators into DoFHandler or other DoF handler type objects.

template<int dim, int spacedim = dim>
const FEFaceValues<dim,spacedim>& FEFaceValues< dim, spacedim >::get_present_fe_values (  )  const

Return a reference to this very object.

Though it seems that it is not very useful, this function is there to provide capability to the hpFEValues class, in which case it provides the FEValues object for the present cell (remember that for hp finite elements, the actual FE object used may change from cell to cell, so we also need different FEValues objects for different cells; once you reinitialize the hpFEValues object for a specific cell, it retrieves the FEValues object for the FE on that cell and returns it through a function of the same name as this one; this function here therefore only provides the same interface so that one can templatize on FEValues/hpFEValues).

template<int dim, int spacedim = dim>
void FEFaceValues< dim, spacedim >::initialize ( const UpdateFlags  update_flags  )  [private]

Do work common to the two constructors.

template<int dim, int spacedim = dim>
void FEFaceValues< dim, spacedim >::do_reinit ( const unsigned int  face_no  )  [private]

The reinit() functions do only that part of the work that requires knowledge of the type of iterator. After setting present_cell(), they pass on to this function, which does the real work, and which is independent of the actual type of the cell iterator.


Member Data Documentation

template<int dim, int spacedim = dim>
const unsigned int FEFaceValues< dim, spacedim >::dimension = dim [static]

Dimension in which this object operates.

template<int dim, int spacedim = dim>
const unsigned int FEFaceValues< dim, spacedim >::space_dimension = spacedim [static]

template<int dim, int spacedim = dim>
const unsigned int FEFaceValues< dim, spacedim >::integral_dimension = dim-1 [static]

Dimension of the object over which we integrate. For the present class, this is equal to dim-1.


The documentation for this class was generated from the following file:

deal.II documentation generated on Sat Aug 15 16:51:54 2009 by doxygen 1.5.9