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 | Private Attributes | List of all members
FEValues< dim, spacedim > Class Template Reference

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

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

Public Member Functions

 FEValues (const Mapping< dim, spacedim > &mapping, const FiniteElement< dim, spacedim > &fe, const Quadrature< dim > &quadrature, const UpdateFlags update_flags)
 
 FEValues (const FiniteElement< dim, spacedim > &fe, const Quadrature< dim > &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)
 
void reinit (const typename Triangulation< dim, spacedim >::cell_iterator &cell)
 
const Quadrature< dim > & get_quadrature () const
 
std::size_t memory_consumption () const
 
const FEValues< 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)
 

Static Public Attributes

static const unsigned int integral_dimension = dim
 

Private Member Functions

void initialize (const UpdateFlags update_flags)
 
void do_reinit ()
 

Private Attributes

const Quadrature< dim > quadrature
 

Detailed Description

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

Finite element evaluated in quadrature points of a cell.

This function implements the initialization routines for FEValuesBase, if values in quadrature points of a cell are needed. For further documentation see this class.

Author
Wolfgang Bangerth, 1998, Guido Kanschat, 2001

Definition at line 38 of file fe.h.

Constructor & Destructor Documentation

◆ FEValues() [1/2]

template<int dim, int spacedim>
FEValues< dim, spacedim >::FEValues ( const Mapping< dim, spacedim > &  mapping,
const FiniteElement< dim, spacedim > &  fe,
const Quadrature< dim > &  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 4390 of file fe_values.cc.

◆ FEValues() [2/2]

template<int dim, int spacedim>
FEValues< dim, spacedim >::FEValues ( const FiniteElement< dim, spacedim > &  fe,
const Quadrature< dim > &  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 4407 of file fe_values.cc.

Member Function Documentation

◆ reinit() [1/3]

template<int dim, int spacedim = dim>
template<template< int, int > class DoFHandlerType, bool level_dof_access>
void FEValues< dim, spacedim >::reinit ( const TriaIterator< DoFCellAccessor< DoFHandlerType< dim, spacedim >, level_dof_access >> &  cell)

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 FEValues object.

◆ reinit() [2/3]

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

Reinitialize the gradients, Jacobi determinants, etc for the 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/laplacians/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 4510 of file fe_values.cc.

◆ get_quadrature()

template<int dim, int spacedim = dim>
const Quadrature<dim>& FEValues< dim, spacedim >::get_quadrature ( ) const

Return a reference to the copy of the quadrature formula stored by this object.

◆ memory_consumption()

template<int dim, int spacedim>
std::size_t FEValues< dim, spacedim >::memory_consumption

Determine an estimate for the memory consumption (in bytes) of this object.

Definition at line 4594 of file fe_values.cc.

◆ get_present_fe_values()

template<int dim, int spacedim = dim>
const FEValues<dim, spacedim>& FEValues< 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 FEValues< dim, spacedim >::initialize ( const UpdateFlags  update_flags)
private

Do work common to the two constructors.

Definition at line 4424 of file fe_values.cc.

◆ do_reinit()

template<int dim, int spacedim>
void FEValues< dim, spacedim >::do_reinit
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 4560 of file fe_values.cc.

◆ reinit() [3/3]

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

Definition at line 4533 of file fe_values.cc.

Member Data Documentation

◆ integral_dimension

template<int dim, int spacedim>
const unsigned int FEValues< dim, spacedim >::integral_dimension = dim
static

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

Definition at line 3623 of file fe_values.h.

◆ quadrature

template<int dim, int spacedim = dim>
const Quadrature<dim> FEValues< dim, spacedim >::quadrature
private

Store a copy of the quadrature formula here.

Definition at line 3705 of file fe_values.h.


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