deal.II version 9.7.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
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 65 of file portable_evaluation_kernels.h.

Public Types

using TeamHandle
using SharedView

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)

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
Initial value:
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
Initial value:
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>
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>
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: