Loading [MathJax]/extensions/TeX/newcommand.js
 deal.II version GIT relicensing-3139-g1f7709904a 2025-04-24 22:10: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\}}
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Modules Pages Concepts
Public Types | Static Public Member Functions | List of all members
Portable::internal::FEEvaluationImpl< dim, fe_degree, n_q_points_1d, Number > Struct Template Reference

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

Public Types

using TeamHandle = Kokkos::TeamPolicy< MemorySpace::Default::kokkos_space::execution_space >::member_type
 
using SharedView = Kokkos::View< Number *, MemorySpace::Default::kokkos_space::execution_space::scratch_memory_space, Kokkos::MemoryTraits< Kokkos::Unmanaged > >
 

Static Public Member Functions

static void evaluate (const unsigned int n_components, const EvaluationFlags::EvaluationFlags evaluation_flag, const typename MatrixFree< dim, Number >::Data *data)
 
static void integrate (const unsigned int n_components, const EvaluationFlags::EvaluationFlags integration_flag, const typename MatrixFree< dim, Number >::Data *data)
 

Detailed Description

template<int dim, int fe_degree, int n_q_points_1d, typename Number>
struct Portable::internal::FEEvaluationImpl< dim, fe_degree, n_q_points_1d, Number >

This struct performs the evaluation of function values and gradients for tensor-product finite elements. 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 65 of file portable_evaluation_kernels.h.

Member Typedef Documentation

◆ TeamHandle

template<int dim, int fe_degree, int n_q_points_1d, typename Number >
using Portable::internal::FEEvaluationImpl< dim, fe_degree, n_q_points_1d, Number >::TeamHandle = Kokkos::TeamPolicy< MemorySpace::Default::kokkos_space::execution_space>::member_type

Definition at line 67 of file portable_evaluation_kernels.h.

◆ SharedView

template<int dim, int fe_degree, int n_q_points_1d, typename Number >
using Portable::internal::FEEvaluationImpl< dim, fe_degree, n_q_points_1d, Number >::SharedView = Kokkos::View<Number *, MemorySpace::Default::kokkos_space:: execution_space::scratch_memory_space, Kokkos::MemoryTraits<Kokkos::Unmanaged> >

Definition at line 69 of file portable_evaluation_kernels.h.

Member Function Documentation

◆ evaluate()

template<int dim, int fe_degree, int n_q_points_1d, typename Number >
static void Portable::internal::FEEvaluationImpl< dim, fe_degree, n_q_points_1d, Number >::evaluate ( const unsigned int  n_components,
const EvaluationFlags::EvaluationFlags  evaluation_flag,
const typename MatrixFree< dim, Number >::Data *  data 
)
inlinestatic

Definition at line 75 of file portable_evaluation_kernels.h.

◆ integrate()

template<int dim, int fe_degree, int n_q_points_1d, typename Number >
static void Portable::internal::FEEvaluationImpl< dim, fe_degree, n_q_points_1d, Number >::integrate ( const unsigned int  n_components,
const EvaluationFlags::EvaluationFlags  integration_flag,
const typename MatrixFree< dim, Number >::Data *  data 
)
inlinestatic

Definition at line 200 of file portable_evaluation_kernels.h.


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