Reference documentation for deal.II version 9.2.0
|
#include <deal.II/fe/fe.h>
Public Member Functions | |
FESubfaceValues (const Mapping< dim, spacedim > &mapping, const FiniteElement< dim, spacedim > &fe, const Quadrature< dim - 1 > &face_quadrature, const UpdateFlags update_flags) | |
FESubfaceValues (const FiniteElement< dim, spacedim > &fe, const Quadrature< dim - 1 > &face_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, const unsigned int subface_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, const typename Triangulation< dim, spacedim >::face_iterator &subface) |
void | reinit (const typename Triangulation< dim, spacedim >::cell_iterator &cell, const unsigned int face_no, const unsigned int subface_no) |
void | reinit (const typename Triangulation< dim, spacedim >::cell_iterator &cell, const typename Triangulation< dim, spacedim >::face_iterator &face, const typename Triangulation< dim, spacedim >::face_iterator &subface) |
const FESubfaceValues< 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, const unsigned int subface_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, const typename Triangulation< dim, spacedim >::face_iterator &subface) |
Static Public Member Functions | |
static ::ExceptionBase & | ExcReinitCalledWithBoundaryFace () |
static ::ExceptionBase & | ExcFaceHasNoSubfaces () |
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, const unsigned int subface_no) |
Finite element evaluated in quadrature points on a face.
This class adds the functionality of FEFaceValuesBase to FEValues; see there for more documentation.
This class is used for faces lying on a refinement edge. In this case, the neighboring cell is refined. To be able to compute differences between interior and exterior function values, the refinement of the neighboring cell must be simulated on this cell. This is achieved by applying a quadrature rule that simulates the refinement. The resulting data fields are split up to reflect the refinement structure of the neighbor: a subface number corresponds to the number of the child of the neighboring face.
FESubfaceValues< dim, spacedim >::FESubfaceValues | ( | const Mapping< dim, spacedim > & | mapping, |
const FiniteElement< dim, spacedim > & | fe, | ||
const Quadrature< dim - 1 > & | face_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 4856 of file fe_values.cc.
FESubfaceValues< dim, spacedim >::FESubfaceValues | ( | const FiniteElement< dim, spacedim > & | fe, |
const Quadrature< dim - 1 > & | face_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 4874 of file fe_values.cc.
void FESubfaceValues< dim, spacedim >::reinit | ( | const TriaIterator< DoFCellAccessor< DoFHandlerType< dim, spacedim >, level_dof_access >> & | cell, |
const unsigned int | face_no, | ||
const unsigned int | subface_no | ||
) |
Reinitialize the gradients, Jacobi determinants, etc for the given cell of type "iterator into a 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 FESubfaceValues object.
void FESubfaceValues< dim, spacedim >::reinit | ( | const TriaIterator< DoFCellAccessor< DoFHandlerType< dim, spacedim >, level_dof_access >> & | cell, |
const typename Triangulation< dim, spacedim >::face_iterator & | face, | ||
const typename Triangulation< dim, spacedim >::face_iterator & | subface | ||
) |
Alternative reinitialization function that takes, as arguments, iterators to the face and subface instead of their numbers.
void FESubfaceValues< dim, spacedim >::reinit | ( | const typename Triangulation< dim, spacedim >::cell_iterator & | cell, |
const unsigned int | face_no, | ||
const unsigned int | subface_no | ||
) |
Reinitialize the gradients, Jacobi determinants, etc for the given subface 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 5003 of file fe_values.cc.
void FESubfaceValues< dim, spacedim >::reinit | ( | const typename Triangulation< dim, spacedim >::cell_iterator & | cell, |
const typename Triangulation< dim, spacedim >::face_iterator & | face, | ||
const typename Triangulation< dim, spacedim >::face_iterator & | subface | ||
) |
Reinitialize the gradients, Jacobi determinants, etc for the given subface 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.
This does the same thing as the previous function but takes iterators instead of numbers as arguments.
face
and subface
must correspond to a face (and a subface of that face) of cell
. Definition at line 5035 of file fe_values.cc.
const FESubfaceValues<dim, spacedim>& FESubfaceValues< 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).
|
private |
Do work common to the two constructors.
Definition at line 4892 of file fe_values.cc.
|
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 5049 of file fe_values.cc.
void FESubfaceValues< dim, spacedim >::reinit | ( | const TriaIterator< DoFCellAccessor< DoFHandlerType< dim, spacedim >, lda >> & | cell, |
const unsigned int | face_no, | ||
const unsigned int | subface_no | ||
) |
Definition at line 4941 of file fe_values.cc.
void FESubfaceValues< dim, spacedim >::reinit | ( | const TriaIterator< DoFCellAccessor< DoFHandlerType< dim, spacedim >, lda >> & | cell, |
const typename Triangulation< dim, spacedim >::face_iterator & | face, | ||
const typename Triangulation< dim, spacedim >::face_iterator & | subface | ||
) |
Definition at line 4989 of file fe_values.cc.
|
static |
Dimension in which this object operates.
Definition at line 3984 of file fe_values.h.
|
static |
Dimension of the space in which this object operates.
Definition at line 3989 of file fe_values.h.
|
static |
Dimension of the object over which we integrate. For the present class, this is equal to dim-1
.
Definition at line 3995 of file fe_values.h.