deal.II version GIT relicensing-2167-g9622207b8f 2024-11-21 12:40: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 | 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 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)
 

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 and gradients for tensor-product finite elements. This is 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 1788 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 1790 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 1792 of file evaluation_kernels.h.

Member Function Documentation

◆ evaluate()

template<int dim, int fe_degree, typename Number >
static 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 1800 of file evaluation_kernels.h.

◆ integrate()

template<int dim, int fe_degree, typename Number >
static 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 1823 of file evaluation_kernels.h.


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