Reference documentation for deal.II version Git f6c556c4e9 2020-09-24 06:57:19 +0200
\(\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\}}\)
Static Public Member Functions | List of all members
internal::FEEvaluationImpl< type, dim, fe_degree, n_q_points_1d, Number > Struct Template Reference

#include <deal.II/matrix_free/evaluation_kernels.h>

Static Public Member Functions

static void evaluate (const unsigned int n_components, const EvaluationFlags::EvaluationFlags evaluation_flag, const MatrixFreeFunctions::ShapeInfo< Number > &shape_info, const Number *values_dofs_actual, Number *values_quad, Number *gradients_quad, Number *hessians_quad, Number *scratch_data)
 
static void integrate (const unsigned int n_components, const EvaluationFlags::EvaluationFlags integration_flag, const MatrixFreeFunctions::ShapeInfo< Number > &shape_info, Number *values_dofs_actual, Number *values_quad, Number *gradients_quad, Number *scratch_data, const bool add_into_values_array)
 

Detailed Description

template<MatrixFreeFunctions::ElementType type, int dim, int fe_degree, int n_q_points_1d, typename Number>
struct internal::FEEvaluationImpl< type, dim, fe_degree, n_q_points_1d, Number >

This struct performs the evaluation of function values, gradients and Hessians for tensor-product finite elements. The operation is used for both the symmetric and non-symmetric case, which use different apply functions 'values', 'gradients' in the individual coordinate directions. The apply functions for values are provided through one of the template classes EvaluatorTensorProduct which in turn are selected from the MatrixFreeFunctions::ElementType template argument.

There are two specialized implementation classes FEEvaluationImplCollocation (for Gauss-Lobatto elements where the nodal points and the quadrature points coincide and the 'values' operation is identity) and FEEvaluationImplTransformToCollocation (which can be transformed to a collocation space and can then use the identity in these spaces), which both allow for shorter code.

Definition at line 115 of file evaluation_kernels.h.

Member Function Documentation

◆ evaluate()

template<MatrixFreeFunctions::ElementType type, int dim, int fe_degree, int n_q_points_1d, typename Number >
void internal::FEEvaluationImpl< type, dim, fe_degree, n_q_points_1d, Number >::evaluate ( const unsigned int  n_components,
const EvaluationFlags::EvaluationFlags  evaluation_flag,
const MatrixFreeFunctions::ShapeInfo< Number > &  shape_info,
const Number *  values_dofs_actual,
Number *  values_quad,
Number *  gradients_quad,
Number *  hessians_quad,
Number *  scratch_data 
)
inlinestatic

Definition at line 146 of file evaluation_kernels.h.

◆ integrate()

template<MatrixFreeFunctions::ElementType type, int dim, int fe_degree, int n_q_points_1d, typename Number >
void internal::FEEvaluationImpl< type, dim, fe_degree, n_q_points_1d, Number >::integrate ( const unsigned int  n_components,
const EvaluationFlags::EvaluationFlags  integration_flag,
const MatrixFreeFunctions::ShapeInfo< Number > &  shape_info,
Number *  values_dofs_actual,
Number *  values_quad,
Number *  gradients_quad,
Number *  scratch_data,
const bool  add_into_values_array 
)
inlinestatic

Definition at line 421 of file evaluation_kernels.h.


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