Reference documentation for deal.II version GIT f24ba87524 2022-11-27 03:40:02+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\}}\)
Public Types | Static Public Member Functions | Static Public Attributes | List of all members
DerivativeApproximation::internal::Gradient< dim > Class Template Reference

Public Types

using Derivative = Tensor< 1, dim >
using ProjectedDerivative = Tensor< 0, dim >

Static Public Member Functions

template<class InputVector , int spacedim>
static ProjectedDerivative get_projected_derivative (const FEValues< dim, spacedim > &fe_values, const InputVector &solution, const unsigned int component)
static double derivative_norm (const Derivative &d)
static void symmetrize (Derivative &derivative_tensor)

Static Public Attributes

static const UpdateFlags update_flags = update_values

Detailed Description

template<int dim>
class DerivativeApproximation::internal::Gradient< dim >

The following class is used to describe the data needed to compute the finite difference approximation to the gradient on a cell. See the general documentation of this class for more information on implementation details.

Definition at line 79 of file

Member Typedef Documentation

◆ Derivative

template<int dim>
using DerivativeApproximation::internal::Gradient< dim >::Derivative = Tensor<1, dim>

Declare the data type which holds the derivative described by this class.

Definition at line 92 of file

◆ ProjectedDerivative

template<int dim>
using DerivativeApproximation::internal::Gradient< dim >::ProjectedDerivative = Tensor<0, dim>

Likewise declare the data type that holds the derivative projected to a certain directions.

Definition at line 98 of file

Member Function Documentation

◆ get_projected_derivative()

template<int dim>
template<class InputVector , int spacedim>
Gradient< dim >::ProjectedDerivative DerivativeApproximation::internal::Gradient< dim >::get_projected_derivative ( const FEValues< dim, spacedim > &  fe_values,
const InputVector &  solution,
const unsigned int  component 

Given an FEValues object initialized to a cell, and a solution vector, extract the desired derivative at the first quadrature point (which is the only one, as we only evaluate the finite element field at the center of each cell).

Definition at line 138 of file

◆ derivative_norm()

template<int dim>
double DerivativeApproximation::internal::Gradient< dim >::derivative_norm ( const Derivative d)

Return the norm of the derivative object. Here, for the gradient, we choose the Euclidean norm of the gradient vector.

Definition at line 164 of file

◆ symmetrize()

template<int dim>
void DerivativeApproximation::internal::Gradient< dim >::symmetrize ( Derivative derivative_tensor)

If for the present derivative order, symmetrization of the derivative tensor is necessary, then do so on the argument.

For the first derivatives, no such thing is necessary, so this function is a no-op.

Definition at line 176 of file

Member Data Documentation

◆ update_flags

template<int dim>
const UpdateFlags DerivativeApproximation::internal::Gradient< dim >::update_flags = update_values

Declare which data fields have to be updated for the function get_projected_derivative to work.

Definition at line 86 of file

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