deal.II version GIT relicensing-6834-g5b78e6bcdf 2026-10-01 11:20:01+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
Portable::internal::FEEvaluationImpl< dim, fe_degree, n_q_points_1d, Number > Struct Template Reference

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

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 63 of file 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 dof_handler_index, const unsigned int n_components, const EvaluationFlags::EvaluationFlags evaluation_flag, const typename MatrixFree< dim, Number >::Data *data)
 
static void integrate (const unsigned int dof_handler_index, const unsigned int n_components, const EvaluationFlags::EvaluationFlags integration_flag, const typename MatrixFree< dim, Number >::Data *data)
 

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 65 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 67 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  dof_handler_index,
const unsigned int  n_components,
const EvaluationFlags::EvaluationFlags  evaluation_flag,
const typename MatrixFree< dim, Number >::Data *  data 
)
inlinestatic

Definition at line 73 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  dof_handler_index,
const unsigned int  n_components,
const EvaluationFlags::EvaluationFlags  integration_flag,
const typename MatrixFree< dim, Number >::Data *  data 
)
inlinestatic

Definition at line 205 of file portable_evaluation_kernels.h.


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