deal.II version GIT relicensing-3512-g0a98d4ed9f 2025-06-14 14: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\}}\)
Loading...
Searching...
No Matches
Public Types | Public Member Functions | Public Attributes | List of all members
Portable::internal::EvaluatorTensorProduct< evaluate_general, dim, n_rows, n_columns, Number > Struct Template Reference

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

Detailed Description

template<int dim, int n_rows, int n_columns, typename Number>
struct Portable::internal::EvaluatorTensorProduct< evaluate_general, dim, n_rows, n_columns, Number >

Internal evaluator for 1d-3d shape function using the tensor product form of the basis functions.

Definition at line 384 of file portable_tensor_product_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 > >
 

Public Member Functions

 EvaluatorTensorProduct (const TeamHandle &team_member, Kokkos::View< Number *, MemorySpace::Default::kokkos_space > shape_values, Kokkos::View< Number *, MemorySpace::Default::kokkos_space > shape_gradients, Kokkos::View< Number *, MemorySpace::Default::kokkos_space > co_shape_gradients, SharedView temp)
 
template<int direction, bool dof_to_quad, bool add, bool in_place, typename ViewTypeIn , typename ViewTypeOut >
void values (const ViewTypeIn in, ViewTypeOut out) const
 
template<int direction, bool dof_to_quad, bool add, bool in_place, typename ViewTypeIn , typename ViewTypeOut >
void gradients (const ViewTypeIn in, ViewTypeOut out) const
 
template<int direction, bool dof_to_quad, bool add, bool in_place, typename ViewTypeIn , typename ViewTypeOut >
void co_gradients (const ViewTypeIn in, ViewTypeOut out) const
 

Public Attributes

const TeamHandleteam_member
 
Kokkos::View< Number *, MemorySpace::Default::kokkos_spaceshape_values
 
Kokkos::View< Number *, MemorySpace::Default::kokkos_spaceshape_gradients
 
Kokkos::View< Number *, MemorySpace::Default::kokkos_spaceco_shape_gradients
 
SharedView temp
 

Member Typedef Documentation

◆ TeamHandle

template<int dim, int n_rows, int n_columns, typename Number >
using Portable::internal::EvaluatorTensorProduct< evaluate_general, dim, n_rows, n_columns, Number >::TeamHandle = Kokkos::TeamPolicy< MemorySpace::Default::kokkos_space::execution_space>::member_type

Definition at line 391 of file portable_tensor_product_kernels.h.

◆ SharedView

template<int dim, int n_rows, int n_columns, typename Number >
using Portable::internal::EvaluatorTensorProduct< evaluate_general, dim, n_rows, n_columns, Number >::SharedView = Kokkos::View<Number *, MemorySpace::Default::kokkos_space:: execution_space::scratch_memory_space, Kokkos::MemoryTraits<Kokkos::Unmanaged> >

Definition at line 394 of file portable_tensor_product_kernels.h.

Constructor & Destructor Documentation

◆ EvaluatorTensorProduct()

template<int dim, int n_rows, int n_columns, typename Number >
Portable::internal::EvaluatorTensorProduct< evaluate_general, dim, n_rows, n_columns, Number >::EvaluatorTensorProduct ( const TeamHandle team_member,
Kokkos::View< Number *, MemorySpace::Default::kokkos_space shape_values,
Kokkos::View< Number *, MemorySpace::Default::kokkos_space shape_gradients,
Kokkos::View< Number *, MemorySpace::Default::kokkos_space co_shape_gradients,
SharedView  temp 
)

Definition at line 480 of file portable_tensor_product_kernels.h.

Member Function Documentation

◆ values()

template<int dim, int n_rows, int n_columns, typename Number >
template<int direction, bool dof_to_quad, bool add, bool in_place, typename ViewTypeIn , typename ViewTypeOut >
void Portable::internal::EvaluatorTensorProduct< evaluate_general, dim, n_rows, n_columns, Number >::values ( const ViewTypeIn  in,
ViewTypeOut  out 
) const

Evaluate/integrate the values of a finite element function at the quadrature points for a given direction.

Definition at line 506 of file portable_tensor_product_kernels.h.

◆ gradients()

template<int dim, int n_rows, int n_columns, typename Number >
template<int direction, bool dof_to_quad, bool add, bool in_place, typename ViewTypeIn , typename ViewTypeOut >
void Portable::internal::EvaluatorTensorProduct< evaluate_general, dim, n_rows, n_columns, Number >::gradients ( const ViewTypeIn  in,
ViewTypeOut  out 
) const

Evaluate/integrate the gradient of a finite element function at the quadrature points for a given direction.

Definition at line 531 of file portable_tensor_product_kernels.h.

◆ co_gradients()

template<int dim, int n_rows, int n_columns, typename Number >
template<int direction, bool dof_to_quad, bool add, bool in_place, typename ViewTypeIn , typename ViewTypeOut >
void Portable::internal::EvaluatorTensorProduct< evaluate_general, dim, n_rows, n_columns, Number >::co_gradients ( const ViewTypeIn  in,
ViewTypeOut  out 
) const

Evaluate the gradient of a finite element function at the quadrature points for a given direction for collocation methods.

Definition at line 556 of file portable_tensor_product_kernels.h.

Member Data Documentation

◆ team_member

template<int dim, int n_rows, int n_columns, typename Number >
const TeamHandle& Portable::internal::EvaluatorTensorProduct< evaluate_general, dim, n_rows, n_columns, Number >::team_member

TeamPolicy handle.

Definition at line 451 of file portable_tensor_product_kernels.h.

◆ shape_values

template<int dim, int n_rows, int n_columns, typename Number >
Kokkos::View<Number *, MemorySpace::Default::kokkos_space> Portable::internal::EvaluatorTensorProduct< evaluate_general, dim, n_rows, n_columns, Number >::shape_values

Values of the shape functions.

Definition at line 456 of file portable_tensor_product_kernels.h.

◆ shape_gradients

template<int dim, int n_rows, int n_columns, typename Number >
Kokkos::View<Number *, MemorySpace::Default::kokkos_space> Portable::internal::EvaluatorTensorProduct< evaluate_general, dim, n_rows, n_columns, Number >::shape_gradients

Values of the shape function gradients.

Definition at line 462 of file portable_tensor_product_kernels.h.

◆ co_shape_gradients

template<int dim, int n_rows, int n_columns, typename Number >
Kokkos::View<Number *, MemorySpace::Default::kokkos_space> Portable::internal::EvaluatorTensorProduct< evaluate_general, dim, n_rows, n_columns, Number >::co_shape_gradients

Values of the shape function gradients for collocation methods.

Definition at line 468 of file portable_tensor_product_kernels.h.

◆ temp

template<int dim, int n_rows, int n_columns, typename Number >
SharedView Portable::internal::EvaluatorTensorProduct< evaluate_general, dim, n_rows, n_columns, Number >::temp

Temporary storage for in-place evaluations.

Definition at line 473 of file portable_tensor_product_kernels.h.


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