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::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.

Inheritance diagram for Portable::internal::EvaluatorTensorProduct< evaluate_general, dim, n_rows, n_columns, Number >:

Public Types

using TeamHandle
using SharedView

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