deal.II version GIT relicensing-2287-g6548a49e0a 2024-12-20 18:30:00+00:00
\(\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\}}\)
Loading...
Searching...
No Matches
Public Types | Public Member Functions | Protected Member Functions | Protected Attributes | Private Attributes | List of all members
FEInterfaceViews::Vector< dim, spacedim > Class Template Reference

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

Inheritance diagram for FEInterfaceViews::Vector< dim, spacedim >:
Inheritance graph
[legend]

Public Types

using value_type = typename FEValuesViews::Vector< dim, spacedim >::value_type
 
using gradient_type = typename FEValuesViews::Vector< dim, spacedim >::gradient_type
 
using hessian_type = typename FEValuesViews::Vector< dim, spacedim >::hessian_type
 
using third_derivative_type = typename FEValuesViews::Vector< dim, spacedim >::third_derivative_type
 
template<typename Number >
using solution_value_type = typename ProductType< Number, value_type >::type
 
template<typename Number >
using solution_gradient_type = typename ProductType< Number, gradient_type >::type
 
template<typename Number >
using solution_hessian_type = typename ProductType< Number, hessian_type >::type
 
template<typename Number >
using solution_third_derivative_type = typename ProductType< Number, third_derivative_type >::type
 

Public Member Functions

 Vector (const FEInterfaceValues< dim, spacedim > &fe_interface, const unsigned int first_vector_component)
 
Access to shape functions
value_type value (const bool here_or_there, const unsigned int interface_dof_index, const unsigned int q_point) const
 
Access to jumps in shape functions and their derivatives
value_type jump_in_values (const unsigned int interface_dof_index, const unsigned int q_point) const
 
gradient_type jump_in_gradients (const unsigned int interface_dof_index, const unsigned int q_point) const
 
gradient_type jump_gradient (const unsigned int interface_dof_index, const unsigned int q_point) const
 
hessian_type jump_in_hessians (const unsigned int interface_dof_index, const unsigned int q_point) const
 
hessian_type jump_hessian (const unsigned int interface_dof_index, const unsigned int q_point) const
 
third_derivative_type jump_in_third_derivatives (const unsigned int interface_dof_index, const unsigned int q_point) const
 
Access to the average of shape functions and their derivatives
value_type average_of_values (const unsigned int interface_dof_index, const unsigned int q_point) const
 
gradient_type average_of_gradients (const unsigned int interface_dof_index, const unsigned int q_point) const
 
hessian_type average_of_hessians (const unsigned int interface_dof_index, const unsigned int q_point) const
 
hessian_type average_hessian (const unsigned int interface_dof_index, const unsigned int q_point) const
 
Access to values of global finite element fields
template<class InputVector >
void get_function_values (const bool here_or_there, const InputVector &fe_function, std::vector< solution_value_type< typename InputVector::value_type > > &values) const
 
template<class InputVector >
void get_function_values_from_local_dof_values (const bool here_or_there, const InputVector &local_dof_values, std::vector< solution_value_type< typename InputVector::value_type > > &values) const
 
Access to jumps in global finite element fields
template<class InputVector >
void get_jump_in_function_values (const InputVector &fe_function, std::vector< solution_value_type< typename InputVector::value_type > > &values) const
 
template<class InputVector >
void get_jump_in_function_values_from_local_dof_values (const InputVector &local_dof_values, std::vector< solution_value_type< typename InputVector::value_type > > &values) const
 
template<class InputVector >
void get_jump_in_function_gradients (const InputVector &fe_function, std::vector< solution_gradient_type< typename InputVector::value_type > > &gradients) const
 
template<class InputVector >
void get_jump_in_function_gradients_from_local_dof_values (const InputVector &local_dof_values, std::vector< solution_gradient_type< typename InputVector::value_type > > &gradients) const
 
template<class InputVector >
void get_jump_in_function_hessians (const InputVector &fe_function, std::vector< solution_hessian_type< typename InputVector::value_type > > &hessians) const
 
template<class InputVector >
void get_jump_in_function_hessians_from_local_dof_values (const InputVector &local_dof_values, std::vector< solution_hessian_type< typename InputVector::value_type > > &hessians) const
 
template<class InputVector >
void get_jump_in_function_third_derivatives (const InputVector &fe_function, std::vector< solution_third_derivative_type< typename InputVector::value_type > > &third_derivatives) const
 
template<class InputVector >
void get_jump_in_function_third_derivatives_from_local_dof_values (const InputVector &local_dof_values, std::vector< solution_third_derivative_type< typename InputVector::value_type > > &third_derivatives) const
 
Access to the average of global finite element fields
template<class InputVector >
void get_average_of_function_values (const InputVector &fe_function, std::vector< solution_value_type< typename InputVector::value_type > > &values) const
 
template<class InputVector >
void get_average_of_function_values_from_local_dof_values (const InputVector &local_dof_values, std::vector< solution_value_type< typename InputVector::value_type > > &values) const
 
template<class InputVector >
void get_average_of_function_gradients (const InputVector &fe_function, std::vector< solution_gradient_type< typename InputVector::value_type > > &gradients) const
 
template<class InputVector >
void get_average_of_function_gradients_from_local_dof_values (const InputVector &local_dof_values, std::vector< solution_gradient_type< typename InputVector::value_type > > &gradients) const
 
template<class InputVector >
void get_average_of_function_hessians (const InputVector &fe_function, std::vector< solution_hessian_type< typename InputVector::value_type > > &hessians) const
 
template<class InputVector >
void get_average_of_function_hessians_from_local_dof_values (const InputVector &local_dof_values, std::vector< solution_hessian_type< typename InputVector::value_type > > &hessians) const
 

Protected Member Functions

template<class InputVector , class OutputVector >
void get_local_dof_values (const InputVector &dof_values, OutputVector &local_dof_values) const
 

Protected Attributes

const FEInterfaceValues< dim, spacedim > * fe_interface
 

Private Attributes

const FEValuesExtractors::Vector extractor
 

Detailed Description

template<int dim, int spacedim = dim>
class FEInterfaceViews::Vector< dim, spacedim >

The view of a vector-valued variable for FEInterfaceValues.

Definition at line 626 of file fe_interface_values.h.

Member Typedef Documentation

◆ value_type

template<int dim, int spacedim = dim>
using FEInterfaceViews::Vector< dim, spacedim >::value_type = typename FEValuesViews::Vector<dim, spacedim>::value_type

This is the type returned for values.

Definition at line 632 of file fe_interface_values.h.

◆ gradient_type

template<int dim, int spacedim = dim>
using FEInterfaceViews::Vector< dim, spacedim >::gradient_type = typename FEValuesViews::Vector<dim, spacedim>::gradient_type

This is the type returned for gradients, for example from average_of_gradients().

Definition at line 639 of file fe_interface_values.h.

◆ hessian_type

template<int dim, int spacedim = dim>
using FEInterfaceViews::Vector< dim, spacedim >::hessian_type = typename FEValuesViews::Vector<dim, spacedim>::hessian_type

An alias for the type of second derivatives of the view this class represents. Here, for a set of dim components of the finite element, the Hessian is a Tensor<3,dim>.

Definition at line 647 of file fe_interface_values.h.

◆ third_derivative_type

template<int dim, int spacedim = dim>
using FEInterfaceViews::Vector< dim, spacedim >::third_derivative_type = typename FEValuesViews::Vector<dim, spacedim>::third_derivative_type

An alias for the type of third derivatives of the view this class represents. Here, for a set of dim components of the finite element, the third derivative is a Tensor<4,dim>.

Definition at line 655 of file fe_interface_values.h.

◆ solution_value_type

template<int dim, int spacedim = dim>
template<typename Number >
using FEInterfaceViews::Vector< dim, spacedim >::solution_value_type = typename ProductType<Number, value_type>::type

An alias for the data type of the product of a Number and the values of the view this class provides. This is the data type of vector components of a finite element field whose degrees of freedom are described by a vector with elements of type Number.

Definition at line 665 of file fe_interface_values.h.

◆ solution_gradient_type

template<int dim, int spacedim = dim>
template<typename Number >
using FEInterfaceViews::Vector< dim, spacedim >::solution_gradient_type = typename ProductType<Number, gradient_type>::type

An alias for the data type of the product of a Number and the gradients of the view this class provides. This is the data type of vector components of a finite element field whose degrees of freedom are described by a vector with elements of type Number.

Definition at line 674 of file fe_interface_values.h.

◆ solution_hessian_type

template<int dim, int spacedim = dim>
template<typename Number >
using FEInterfaceViews::Vector< dim, spacedim >::solution_hessian_type = typename ProductType<Number, hessian_type>::type

An alias for the data type of the product of a Number and the Hessians of the view this class provides. This is the data type of vector components of a finite element field whose degrees of freedom are described by a vector with elements of type Number.

Definition at line 684 of file fe_interface_values.h.

◆ solution_third_derivative_type

template<int dim, int spacedim = dim>
template<typename Number >
using FEInterfaceViews::Vector< dim, spacedim >::solution_third_derivative_type = typename ProductType<Number, third_derivative_type>::type

An alias for the data type of the product of a Number and the third derivatives of the view this class provides. This is the data type of vector components of a finite element field whose degrees of freedom are described by a vector with elements of type Number.

Definition at line 694 of file fe_interface_values.h.

Constructor & Destructor Documentation

◆ Vector()

template<int dim, int spacedim = dim>
FEInterfaceViews::Vector< dim, spacedim >::Vector ( const FEInterfaceValues< dim, spacedim > &  fe_interface,
const unsigned int  first_vector_component 
)

Constructor for an object that represents a vector component

Member Function Documentation

◆ value()

template<int dim, int spacedim = dim>
value_type FEInterfaceViews::Vector< dim, spacedim >::value ( const bool  here_or_there,
const unsigned int  interface_dof_index,
const unsigned int  q_point 
) const

Return the value of the vector components selected by this view with interface dof index interface_dof_index in quadrature point q_point.

The argument here_or_there selects between the upstream value and the downstream value as defined by the direction of the normal vector in this quadrature point. If here_or_there is true, the shape functions from the first cell of the interface is used.

In other words, this function returns the limit of the value of the shape function in the given quadrature point when approaching it from one of the two cells of the interface.

Note
This function is typically used to pick the upstream or downstream value based on a direction. This can be achieved by using (direction * normal)>0 as the first argument of this function.

◆ jump_in_values()

template<int dim, int spacedim = dim>
value_type FEInterfaceViews::Vector< dim, spacedim >::jump_in_values ( const unsigned int  interface_dof_index,
const unsigned int  q_point 
) const

Return the jump vector \([\mathbf{u}]=\mathbf{u_1} - \mathbf{u_2}\) on the interface for the shape function interface_dof_index in the quadrature point q_point.

Note
The name of the function is supposed to be read as "the jump (singular) in the values (plural: one or two possible values) of the shape function (singular)".

◆ jump_in_gradients()

template<int dim, int spacedim = dim>
gradient_type FEInterfaceViews::Vector< dim, spacedim >::jump_in_gradients ( const unsigned int  interface_dof_index,
const unsigned int  q_point 
) const

Return the jump of the gradient (a tensor of rank 2) \(\jump{\nabla \mathbf{u}}\) on the interface for the shape function interface_dof_index in the quadrature point q_point.

Note
The name of the function is supposed to be read as "the jump (singular) in the gradients (plural: one or two possible gradients) of the shape function (singular)".

◆ jump_gradient()

template<int dim, int spacedim = dim>
gradient_type FEInterfaceViews::Vector< dim, spacedim >::jump_gradient ( const unsigned int  interface_dof_index,
const unsigned int  q_point 
) const

The same as above.

Deprecated:
Use the average_of_gradients() function instead.

◆ jump_in_hessians()

template<int dim, int spacedim = dim>
hessian_type FEInterfaceViews::Vector< dim, spacedim >::jump_in_hessians ( const unsigned int  interface_dof_index,
const unsigned int  q_point 
) const

Return the jump in the gradient \(\jump{\nabla u}=\nabla u_{\text{cell0}} - \nabla u_{\text{cell1}}\) on the interface for the shape function interface_dof_index at the quadrature point q_point of the component selected by this view.

Note
The name of the function is supposed to be read as "the jump (singular) in the Hessians (plural: one or two possible values for the second derivative) of the shape function (singular)".

◆ jump_hessian()

template<int dim, int spacedim = dim>
hessian_type FEInterfaceViews::Vector< dim, spacedim >::jump_hessian ( const unsigned int  interface_dof_index,
const unsigned int  q_point 
) const

The same as above.

Deprecated:
Use the average_of_hessians() function instead.

◆ jump_in_third_derivatives()

template<int dim, int spacedim = dim>
third_derivative_type FEInterfaceViews::Vector< dim, spacedim >::jump_in_third_derivatives ( const unsigned int  interface_dof_index,
const unsigned int  q_point 
) const

Return the jump in the third derivative \(\jump{\nabla^3 u} = \nabla^3 u_{\text{cell0}} - \nabla^3 u_{\text{cell1}}\) on the interface for the shape function interface_dof_index at the quadrature point q_point of the component selected by this view.

Note
The name of the function is supposed to be read as "the jump (singular) in the third derivatives (plural: one or two possible values for the third derivative) of the shape function (singular)".

◆ average_of_values()

template<int dim, int spacedim = dim>
value_type FEInterfaceViews::Vector< dim, spacedim >::average_of_values ( const unsigned int  interface_dof_index,
const unsigned int  q_point 
) const

Return the average vector \(\average{\mathbf{u}}=\frac{1}{2}(\mathbf{u_1} + \mathbf{u_2})\) on the interface for the shape function interface_dof_index in the quadrature point q_point.

Note
The name of the function is supposed to be read as "the average (singular) of the values (plural: one or two possible values) of the shape function (singular)".

◆ average_of_gradients()

template<int dim, int spacedim = dim>
gradient_type FEInterfaceViews::Vector< dim, spacedim >::average_of_gradients ( const unsigned int  interface_dof_index,
const unsigned int  q_point 
) const

Return the average of the gradient (a tensor of rank 2) \(\average{\nabla \mathbf{u}}\) on the interface for the shape function interface_dof_index in the quadrature point q_point.

Note
The name of the function is supposed to be read as "the average (singular) of the gradients (plural: one or two possible values of the derivative) of the shape function (singular)".

◆ average_of_hessians()

template<int dim, int spacedim = dim>
hessian_type FEInterfaceViews::Vector< dim, spacedim >::average_of_hessians ( const unsigned int  interface_dof_index,
const unsigned int  q_point 
) const

Return the average of the Hessian \(\average{\nabla^2 u} = \frac{1}{2}\nabla^2 u_{\text{cell0}} + \frac{1}{2} \nabla^2 u_{\text{cell1}}\) on the interface for the shape function interface_dof_index at the quadrature point q_point of the component selected by this view.

Note
The name of the function is supposed to be read as "the average (singular) in the Hessians (plural: one or two possible values of the second derivative) of the shape function (singular)".

◆ average_hessian()

template<int dim, int spacedim = dim>
hessian_type FEInterfaceViews::Vector< dim, spacedim >::average_hessian ( const unsigned int  interface_dof_index,
const unsigned int  q_point 
) const

The same as above.

Deprecated:
Use the average_of_hessians() function instead.

◆ get_function_values()

template<int dim, int spacedim = dim>
template<class InputVector >
void FEInterfaceViews::Vector< dim, spacedim >::get_function_values ( const bool  here_or_there,
const InputVector< dim, spacedim > &  fe_function,
std::vector< solution_value_type< typename InputVector< dim, spacedim >::value_type > > &  values 
) const

Return the values of the selected vector component of the finite element function characterized by fe_function at the quadrature points of the cell interface selected the last time the reinit function of the FEInterfaceValues object was called.

The argument here_or_there selects between the value on cell 0 (here, true) and cell 1 (there, false). You can also interpret it as "upstream" (true) and "downstream" (false) as defined by the direction of the normal vector in this quadrature point. If here_or_there is true, the values from the first cell of the interface is used.

The data type stored by the output vector must be what you get when you multiply the values of shape functions (i.e., value_type) times the type used to store the values of the unknowns \(U_j\) of your finite element vector \(U\) (represented by the fe_function argument).

Note
For this function to work properly, the underlying FEValues, FEFaceValues, or FESubfaceValues object on which you call it must have computed the information you are requesting. To do so, the update_values flag must be an element of the list of UpdateFlags that you passed to the constructor of this object. See The interplay of UpdateFlags, Mapping, and FiniteElement in FEValues for more information.

◆ get_function_values_from_local_dof_values()

template<int dim, int spacedim = dim>
template<class InputVector >
void FEInterfaceViews::Vector< dim, spacedim >::get_function_values_from_local_dof_values ( const bool  here_or_there,
const InputVector< dim, spacedim > &  local_dof_values,
std::vector< solution_value_type< typename InputVector< dim, spacedim >::value_type > > &  values 
) const

Same as above, but using a vector of local degree-of-freedom values. In other words, instead of extracting the nodal values of the degrees of freedom located on the current cell interface from a global vector associated with a DoFHandler object (as the function above does), this function instead takes these local nodal values through its first argument.

Parameters
[in]here_or_thereSame as the one in the above function.
[in]local_dof_valuesA vector of local nodal values. This vector must have a length equal to number of DoFs on the current cell, and must be ordered in the same order as degrees of freedom are numbered on the reference cell.
[out]valuesA vector of values of the given finite element field, at the quadrature points on the current object.
Template Parameters
InputVectorThe InputVector type must allow creation of an ArrayView object from it; this is satisfied by the std::vector class, among others.

◆ get_jump_in_function_values()

template<int dim, int spacedim = dim>
template<class InputVector >
void FEInterfaceViews::Vector< dim, spacedim >::get_jump_in_function_values ( const InputVector< dim, spacedim > &  fe_function,
std::vector< solution_value_type< typename InputVector< dim, spacedim >::value_type > > &  values 
) const

Return the jump in the values of the selected vector component of the finite element function characterized by fe_function at the quadrature points of the cell interface selected the last time the reinit function of the FEInterfaceValues object was called.

The data type stored by the output vector must be what you get when you multiply the values of shape functions (i.e., value_type) times the type used to store the values of the unknowns \(U_j\) of your finite element vector \(U\) (represented by the fe_function argument).

Note
For this function to work properly, the underlying FEValues, FEFaceValues, or FESubfaceValues object on which you call it must have computed the information you are requesting. To do so, the update_values flag must be an element of the list of UpdateFlags that you passed to the constructor of this object. See The interplay of UpdateFlags, Mapping, and FiniteElement in FEValues for more information.

◆ get_jump_in_function_values_from_local_dof_values()

template<int dim, int spacedim = dim>
template<class InputVector >
void FEInterfaceViews::Vector< dim, spacedim >::get_jump_in_function_values_from_local_dof_values ( const InputVector< dim, spacedim > &  local_dof_values,
std::vector< solution_value_type< typename InputVector< dim, spacedim >::value_type > > &  values 
) const

This function relates to get_jump_in_function_values() in the same way as get_function_values_from_local_dof_values() relates to get_function_values(). See the documentation of get_function_values_from_local_dof_values() for more information.

◆ get_jump_in_function_gradients()

template<int dim, int spacedim = dim>
template<class InputVector >
void FEInterfaceViews::Vector< dim, spacedim >::get_jump_in_function_gradients ( const InputVector< dim, spacedim > &  fe_function,
std::vector< solution_gradient_type< typename InputVector< dim, spacedim >::value_type > > &  gradients 
) const

Return the jump in the gradients of the selected vector components of the finite element function characterized by fe_function at the quadrature points of the cell interface selected the last time the reinit function of the FEInterfaceValues object was called.

The data type stored by the output vector must be what you get when you multiply the gradients of shape functions (i.e., gradient_type) times the type used to store the values of the unknowns \(U_j\) of your finite element vector \(U\) (represented by the fe_function argument).

Note
For this function to work properly, the underlying FEValues, FEFaceValues, or FESubfaceValues object on which you call it must have computed the information you are requesting. To do so, the update_gradients flag must be an element of the list of UpdateFlags that you passed to the constructor of this object. See The interplay of UpdateFlags, Mapping, and FiniteElement in FEValues for more information.

◆ get_jump_in_function_gradients_from_local_dof_values()

template<int dim, int spacedim = dim>
template<class InputVector >
void FEInterfaceViews::Vector< dim, spacedim >::get_jump_in_function_gradients_from_local_dof_values ( const InputVector< dim, spacedim > &  local_dof_values,
std::vector< solution_gradient_type< typename InputVector< dim, spacedim >::value_type > > &  gradients 
) const

This function relates to get_jump_in_function_gradients() in the same way as get_function_values_from_local_dof_values() relates to get_function_values(). See the documentation of get_function_values_from_local_dof_values() for more information.

◆ get_jump_in_function_hessians()

template<int dim, int spacedim = dim>
template<class InputVector >
void FEInterfaceViews::Vector< dim, spacedim >::get_jump_in_function_hessians ( const InputVector< dim, spacedim > &  fe_function,
std::vector< solution_hessian_type< typename InputVector< dim, spacedim >::value_type > > &  hessians 
) const

Return the jump in the Hessians of the selected vector component of the finite element function characterized by fe_function at the quadrature points of the cell, face or subface selected the last time the reinit function of the FEInterfaceValues object was called.

The data type stored by the output vector must be what you get when you multiply the Hessians of shape functions (i.e., hessian_type) times the type used to store the values of the unknowns \(U_j\) of your finite element vector \(U\) (represented by the fe_function argument).

Note
For this function to work properly, the underlying FEValues, FEFaceValues, or FESubfaceValues object on which you call it must have computed the information you are requesting. To do so, the update_hessians flag must be an element of the list of UpdateFlags that you passed to the constructor of this object. See The interplay of UpdateFlags, Mapping, and FiniteElement in FEValues for more information.

◆ get_jump_in_function_hessians_from_local_dof_values()

template<int dim, int spacedim = dim>
template<class InputVector >
void FEInterfaceViews::Vector< dim, spacedim >::get_jump_in_function_hessians_from_local_dof_values ( const InputVector< dim, spacedim > &  local_dof_values,
std::vector< solution_hessian_type< typename InputVector< dim, spacedim >::value_type > > &  hessians 
) const

This function relates to get_jump_in_function_hessians() in the same way as get_function_values_from_local_dof_values() relates to get_function_values(). See the documentation of get_function_values_from_local_dof_values() for more information.

◆ get_jump_in_function_third_derivatives()

template<int dim, int spacedim = dim>
template<class InputVector >
void FEInterfaceViews::Vector< dim, spacedim >::get_jump_in_function_third_derivatives ( const InputVector< dim, spacedim > &  fe_function,
std::vector< solution_third_derivative_type< typename InputVector< dim, spacedim >::value_type > > &  third_derivatives 
) const

Return the jump in the third derivatives of the selected vector component of the finite element function characterized by fe_function at the quadrature points of the cell, face or subface selected the last time the reinit function of the FEInterfaceValues object was called.

The data type stored by the output vector must be what you get when you multiply the third derivatives of shape functions (i.e., third_derivative_type) times the type used to store the values of the unknowns \(U_j\) of your finite element vector \(U\) (represented by the fe_function argument).

Note
For this function to work properly, the underlying FEValues, FEFaceValues, or FESubfaceValues object on which you call it must have computed the information you are requesting. To do so, the update_third_derivatives flag must be an element of the list of UpdateFlags that you passed to the constructor of this object. See The interplay of UpdateFlags, Mapping, and FiniteElement in FEValues for more information.

◆ get_jump_in_function_third_derivatives_from_local_dof_values()

template<int dim, int spacedim = dim>
template<class InputVector >
void FEInterfaceViews::Vector< dim, spacedim >::get_jump_in_function_third_derivatives_from_local_dof_values ( const InputVector< dim, spacedim > &  local_dof_values,
std::vector< solution_third_derivative_type< typename InputVector< dim, spacedim >::value_type > > &  third_derivatives 
) const

This function relates to get_jump_in_function_third_derivatives() in the same way as get_function_values_from_local_dof_values() relates to get_function_values(). See the documentation of get_function_values_from_local_dof_values() for more information.

◆ get_average_of_function_values()

template<int dim, int spacedim = dim>
template<class InputVector >
void FEInterfaceViews::Vector< dim, spacedim >::get_average_of_function_values ( const InputVector< dim, spacedim > &  fe_function,
std::vector< solution_value_type< typename InputVector< dim, spacedim >::value_type > > &  values 
) const

Return the average of the values of the selected vector component of the finite element function characterized by fe_function at the quadrature points of the cell interface selected the last time the reinit function of the FEInterfaceValues object was called.

The data type stored by the output vector must be what you get when you multiply the values of shape functions (i.e., value_type) times the type used to store the values of the unknowns \(U_j\) of your finite element vector \(U\) (represented by the fe_function argument).

Note
For this function to work properly, the underlying FEValues, FEFaceValues, or FESubfaceValues object on which you call it must have computed the information you are requesting. To do so, the update_values flag must be an element of the list of UpdateFlags that you passed to the constructor of this object. See The interplay of UpdateFlags, Mapping, and FiniteElement in FEValues for more information.

◆ get_average_of_function_values_from_local_dof_values()

template<int dim, int spacedim = dim>
template<class InputVector >
void FEInterfaceViews::Vector< dim, spacedim >::get_average_of_function_values_from_local_dof_values ( const InputVector< dim, spacedim > &  local_dof_values,
std::vector< solution_value_type< typename InputVector< dim, spacedim >::value_type > > &  values 
) const

This function relates to get_average_of_function_values() in the same way as get_function_values_from_local_dof_values() relates to get_function_values(). See the documentation of get_function_values_from_local_dof_values() for more information.

◆ get_average_of_function_gradients()

template<int dim, int spacedim = dim>
template<class InputVector >
void FEInterfaceViews::Vector< dim, spacedim >::get_average_of_function_gradients ( const InputVector< dim, spacedim > &  fe_function,
std::vector< solution_gradient_type< typename InputVector< dim, spacedim >::value_type > > &  gradients 
) const

Return the average of the gradients of the selected vector components of the finite element function characterized by fe_function at the quadrature points of the cell interface selected the last time the reinit function of the FEInterfaceValues object was called.

The data type stored by the output vector must be what you get when you multiply the gradients of shape functions (i.e., gradient_type) times the type used to store the values of the unknowns \(U_j\) of your finite element vector \(U\) (represented by the fe_function argument).

Note
For this function to work properly, the underlying FEValues, FEFaceValues, or FESubfaceValues object on which you call it must have computed the information you are requesting. To do so, the update_gradients flag must be an element of the list of UpdateFlags that you passed to the constructor of this object. See The interplay of UpdateFlags, Mapping, and FiniteElement in FEValues for more information.

◆ get_average_of_function_gradients_from_local_dof_values()

template<int dim, int spacedim = dim>
template<class InputVector >
void FEInterfaceViews::Vector< dim, spacedim >::get_average_of_function_gradients_from_local_dof_values ( const InputVector< dim, spacedim > &  local_dof_values,
std::vector< solution_gradient_type< typename InputVector< dim, spacedim >::value_type > > &  gradients 
) const

This function relates to get_average_of_function_gradients() in the same way as get_function_values_from_local_dof_values() relates to get_function_values(). See the documentation of get_function_values_from_local_dof_values() for more information.

◆ get_average_of_function_hessians()

template<int dim, int spacedim = dim>
template<class InputVector >
void FEInterfaceViews::Vector< dim, spacedim >::get_average_of_function_hessians ( const InputVector< dim, spacedim > &  fe_function,
std::vector< solution_hessian_type< typename InputVector< dim, spacedim >::value_type > > &  hessians 
) const

Return the average of the Hessians of the selected vector component of the finite element function characterized by fe_function at the quadrature points of the cell, face or subface selected the last time the reinit function of the FEInterfaceValues object was called.

The data type stored by the output vector must be what you get when you multiply the Hessians of shape functions (i.e., hessian_type) times the type used to store the values of the unknowns \(U_j\) of your finite element vector \(U\) (represented by the fe_function argument).

Note
For this function to work properly, the underlying FEValues, FEFaceValues, or FESubfaceValues object on which you call it must have computed the information you are requesting. To do so, the update_hessians flag must be an element of the list of UpdateFlags that you passed to the constructor of this object. See The interplay of UpdateFlags, Mapping, and FiniteElement in FEValues for more information.

◆ get_average_of_function_hessians_from_local_dof_values()

template<int dim, int spacedim = dim>
template<class InputVector >
void FEInterfaceViews::Vector< dim, spacedim >::get_average_of_function_hessians_from_local_dof_values ( const InputVector< dim, spacedim > &  local_dof_values,
std::vector< solution_hessian_type< typename InputVector< dim, spacedim >::value_type > > &  hessians 
) const

This function relates to get_average_of_function_hessians() in the same way as get_function_values_from_local_dof_values() relates to get_function_values(). See the documentation of get_function_values_from_local_dof_values() for more information.

◆ get_local_dof_values()

template<int dim, int spacedim = dim>
template<class InputVector , class OutputVector >
void FEInterfaceViews::Base< dim, spacedim >::get_local_dof_values ( const InputVector &  dof_values,
OutputVector &  local_dof_values 
) const
protectedinherited

Get the local degree-of-freedom values associated with the internally initialized cell interface.

Member Data Documentation

◆ extractor

template<int dim, int spacedim = dim>
const FEValuesExtractors::Vector FEInterfaceViews::Vector< dim, spacedim >::extractor
private

The extractor for this view.

Definition at line 1193 of file fe_interface_values.h.

◆ fe_interface

template<int dim, int spacedim = dim>
const FEInterfaceValues<dim, spacedim>* FEInterfaceViews::Base< dim, spacedim >::fe_interface
protectedinherited

Store a pointer to the FEInterfaceValues instance.

Definition at line 58 of file fe_interface_values.h.


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