Reference documentation for deal.II version 9.5.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\}}\)
Loading...
Searching...
No Matches
Public Types | Static Public Member Functions | List of all members
internal::FEEvaluationImplCollocation< dim, fe_degree, Number > Struct Template Reference

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

Public Types

using Number2 = typename FEEvaluationData< dim, Number, false >::shape_info_number_type
 
using Eval = EvaluatorTensorProduct< evaluate_evenodd, dim, fe_degree+1, fe_degree+1, Number, Number2 >
 

Static Public Member Functions

static void evaluate (const unsigned int n_components, const EvaluationFlags::EvaluationFlags evaluation_flag, const Number *values_dofs, FEEvaluationData< dim, Number, false > &fe_eval)
 
static void do_evaluate (const MatrixFreeFunctions::UnivariateShapeData< Number2 > &shape, const EvaluationFlags::EvaluationFlags evaluation_flag, const Number *values_dofs, Number *gradients_quad, Number *hessians_quad)
 
static void integrate (const unsigned int n_components, const EvaluationFlags::EvaluationFlags integration_flag, Number *values_dofs, FEEvaluationData< dim, Number, false > &fe_eval, const bool add_into_values_array)
 
static void do_integrate (const MatrixFreeFunctions::UnivariateShapeData< Number2 > &shape, const EvaluationFlags::EvaluationFlags integration_flag, Number *values_dofs, Number *gradients_quad, const Number *hessians_quad, const bool add_into_values_array)
 

Detailed Description

template<int dim, int fe_degree, typename Number>
struct internal::FEEvaluationImplCollocation< dim, fe_degree, Number >

This struct performs the evaluation of function values, gradients and Hessians for tensor-product finite elements. This a specialization for elements where the nodal points coincide with the quadrature points like FE_Q shape functions on Gauss-Lobatto elements integrated with Gauss-Lobatto quadrature. The assumption of this class is that the shape 'values' operation is identity, which allows us to write shorter code.

In literature, this form of evaluation is often called spectral evaluation, spectral collocation or simply collocation, meaning the same location for shape functions and evaluation space (quadrature points).

Definition at line 1846 of file evaluation_kernels.h.

Member Typedef Documentation

◆ Number2

template<int dim, int fe_degree, typename Number >
using internal::FEEvaluationImplCollocation< dim, fe_degree, Number >::Number2 = typename FEEvaluationData<dim, Number, false>::shape_info_number_type

Definition at line 1848 of file evaluation_kernels.h.

◆ Eval

template<int dim, int fe_degree, typename Number >
using internal::FEEvaluationImplCollocation< dim, fe_degree, Number >::Eval = EvaluatorTensorProduct<evaluate_evenodd, dim, fe_degree + 1, fe_degree + 1, Number, Number2>

Definition at line 1850 of file evaluation_kernels.h.

Member Function Documentation

◆ evaluate()

template<int dim, int fe_degree, typename Number >
void internal::FEEvaluationImplCollocation< dim, fe_degree, Number >::evaluate ( const unsigned int  n_components,
const EvaluationFlags::EvaluationFlags  evaluation_flag,
const Number *  values_dofs,
FEEvaluationData< dim, Number, false > &  fe_eval 
)
inlinestatic

Definition at line 1890 of file evaluation_kernels.h.

◆ do_evaluate()

template<int dim, int fe_degree, typename Number >
void internal::FEEvaluationImplCollocation< dim, fe_degree, Number >::do_evaluate ( const MatrixFreeFunctions::UnivariateShapeData< Number2 > &  shape,
const EvaluationFlags::EvaluationFlags  evaluation_flag,
const Number *  values_dofs,
Number *  gradients_quad,
Number *  hessians_quad 
)
inlinestatic

Definition at line 1918 of file evaluation_kernels.h.

◆ integrate()

template<int dim, int fe_degree, typename Number >
void internal::FEEvaluationImplCollocation< dim, fe_degree, Number >::integrate ( const unsigned int  n_components,
const EvaluationFlags::EvaluationFlags  integration_flag,
Number *  values_dofs,
FEEvaluationData< dim, Number, false > &  fe_eval,
const bool  add_into_values_array 
)
inlinestatic

Definition at line 1974 of file evaluation_kernels.h.

◆ do_integrate()

template<int dim, int fe_degree, typename Number >
void internal::FEEvaluationImplCollocation< dim, fe_degree, Number >::do_integrate ( const MatrixFreeFunctions::UnivariateShapeData< Number2 > &  shape,
const EvaluationFlags::EvaluationFlags  integration_flag,
Number *  values_dofs,
Number *  gradients_quad,
const Number *  hessians_quad,
const bool  add_into_values_array 
)
inlinestatic

Definition at line 2012 of file evaluation_kernels.h.


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