Reference documentation for deal.II version 9.2.0
\(\newcommand{\dealvcentcolon}{\mathrel{\mathop{:}}}\) \(\newcommand{\dealcoloneq}{\dealvcentcolon\mathrel{\mkern-1.2mu}=}\) \(\newcommand{\jump}[1]{\left[\!\left[ #1 \right]\!\right]}\) \(\newcommand{\average}[1]{\left\{\!\left\{ #1 \right\}\!\right\}}\)
Public Member Functions | Static Public Attributes | Private Member Functions | List of all members
FEFaceValues< dim, spacedim > Class Template Reference

#include <deal.II/fe/fe.h>

Inheritance diagram for FEFaceValues< dim, spacedim >:
[legend]

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)
 
template<template< int, int > class DoFHandlerType, bool level_dof_access>
void reinit (const TriaIterator< DoFCellAccessor< DoFHandlerType< dim, spacedim >, level_dof_access >> &cell, const unsigned int face_no)
 
template<template< int, int > class DoFHandlerType, bool level_dof_access>
void reinit (const TriaIterator< DoFCellAccessor< DoFHandlerType< dim, spacedim >, level_dof_access >> &cell, const typename Triangulation< dim, spacedim >::face_iterator &face)
 
void reinit (const typename Triangulation< dim, spacedim >::cell_iterator &cell, const unsigned int face_no)
 
void reinit (const typename Triangulation< dim, spacedim >::cell_iterator &cell, const typename Triangulation< dim, spacedim >::face_iterator &face)
 
const FEFaceValues< dim, spacedim > & get_present_fe_values () const
 
template<template< int, int > class DoFHandlerType, bool lda>
void reinit (const TriaIterator< DoFCellAccessor< DoFHandlerType< dim, spacedim >, lda >> &cell, const unsigned int face_no)
 
template<template< int, int > class DoFHandlerType, bool lda>
void reinit (const TriaIterator< DoFCellAccessor< DoFHandlerType< dim, spacedim >, lda >> &cell, const typename Triangulation< dim, spacedim >::face_iterator &face)
 

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

Definition at line 40 of file fe.h.

Constructor & Destructor Documentation

◆ FEFaceValues() [1/2]

template<int dim, int spacedim>
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.

Definition at line 4657 of file fe_values.cc.

◆ FEFaceValues() [2/2]

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

Constructor. This constructor is equivalent to the other one except that it makes the object use a \(Q_1\) mapping (i.e., an object of type MappingQGeneric(1)) implicitly.

Definition at line 4675 of file fe_values.cc.

Member Function Documentation

◆ reinit() [1/6]

template<int dim, int spacedim = dim>
template<template< int, int > class DoFHandlerType, bool level_dof_access>
void FEFaceValues< dim, spacedim >::reinit ( const TriaIterator< DoFCellAccessor< DoFHandlerType< dim, spacedim >, level_dof_access >> &  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.

◆ reinit() [2/6]

template<int dim, int spacedim = dim>
template<template< int, int > class DoFHandlerType, bool level_dof_access>
void FEFaceValues< dim, spacedim >::reinit ( const TriaIterator< DoFCellAccessor< DoFHandlerType< dim, spacedim >, level_dof_access >> &  cell,
const typename Triangulation< dim, spacedim >::face_iterator &  face 
)

Reinitialize the gradients, Jacobi determinants, etc for face face and cell cell.

Note
face must be one of cell's face iterators.

◆ reinit() [3/6]

template<int dim, int spacedim>
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 a given cell of type "iterator into a Triangulation object", and the given finite element. Since iterators into a 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/third_derivatives 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.

Definition at line 4782 of file fe_values.cc.

◆ reinit() [4/6]

template<int dim, int spacedim>
void FEFaceValues< dim, spacedim >::reinit ( const typename Triangulation< dim, spacedim >::cell_iterator &  cell,
const typename Triangulation< dim, spacedim >::face_iterator &  face 
)

Definition at line 4803 of file fe_values.cc.

◆ get_present_fe_values()

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 hp::FEValues 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 hp::FEValues 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 and hp::FEValues).

◆ initialize()

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

Do work common to the two constructors.

Definition at line 4693 of file fe_values.cc.

◆ do_reinit()

template<int dim, int spacedim>
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.

Definition at line 4815 of file fe_values.cc.

◆ reinit() [5/6]

template<int dim, int spacedim = dim>
template<template< int, int > class DoFHandlerType, bool lda>
void FEFaceValues< dim, spacedim >::reinit ( const TriaIterator< DoFCellAccessor< DoFHandlerType< dim, spacedim >, lda >> &  cell,
const unsigned int  face_no 
)

Definition at line 4740 of file fe_values.cc.

◆ reinit() [6/6]

template<int dim, int spacedim = dim>
template<template< int, int > class DoFHandlerType, bool lda>
void FEFaceValues< dim, spacedim >::reinit ( const TriaIterator< DoFCellAccessor< DoFHandlerType< dim, spacedim >, lda >> &  cell,
const typename Triangulation< dim, spacedim >::face_iterator &  face 
)

Definition at line 4770 of file fe_values.cc.

Member Data Documentation

◆ dimension

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

Dimension in which this object operates.

Definition at line 3839 of file fe_values.h.

◆ space_dimension

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

Definition at line 3841 of file fe_values.h.

◆ integral_dimension

template<int dim, int spacedim>
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.

Definition at line 3847 of file fe_values.h.


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