Reference documentation for deal.II version 9.6.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, fe_degree, n_q_points_1d, Number > Struct Template Reference

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

Public Types

using TeamHandle
 

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)
 
template<typename ViewType >
void evaluate_values (ViewType u)
 
template<typename ViewTypeIn , typename ViewTypeOut >
void evaluate_gradients (const ViewTypeIn u, ViewTypeOut grad_u)
 
template<typename ViewType1 , typename ViewType2 >
void evaluate_values_and_gradients (ViewType1 u, ViewType2 grad_u)
 
template<typename ViewType >
void integrate_values (ViewType u)
 
template<bool add, typename ViewType1 , typename ViewType2 >
void integrate_gradients (ViewType1 u, ViewType2 grad_u)
 
template<typename ViewType1 , typename ViewType2 >
void integrate_values_and_gradients (ViewType1 u, ViewType2 grad_u)
 
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
 

Detailed Description

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

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

Definition at line 358 of file portable_tensor_product_kernels.h.

Member Typedef Documentation

◆ TeamHandle

template<int dim, int fe_degree, int n_q_points_1d, typename Number >
using Portable::internal::EvaluatorTensorProduct< evaluate_general, dim, fe_degree, n_q_points_1d, Number >::TeamHandle
Initial value:
Kokkos::TeamPolicy<
MemorySpace::Default::kokkos_space::execution_space>::member_type

Definition at line 365 of file portable_tensor_product_kernels.h.

Constructor & Destructor Documentation

◆ EvaluatorTensorProduct()

template<int dim, int fe_degree, int n_q_points_1d, typename Number >
Portable::internal::EvaluatorTensorProduct< evaluate_general, dim, fe_degree, n_q_points_1d, 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 )

Definition at line 494 of file portable_tensor_product_kernels.h.

Member Function Documentation

◆ evaluate_values()

template<int dim, int fe_degree, int n_q_points_1d, typename Number >
template<typename ViewType >
void Portable::internal::EvaluatorTensorProduct< evaluate_general, dim, fe_degree, n_q_points_1d, Number >::evaluate_values ( ViewType u)
inline

Evaluate the finite element function at the quadrature points.

Definition at line 580 of file portable_tensor_product_kernels.h.

◆ evaluate_gradients()

template<int dim, int fe_degree, int n_q_points_1d, typename Number >
template<typename ViewTypeIn , typename ViewTypeOut >
void Portable::internal::EvaluatorTensorProduct< evaluate_general, dim, fe_degree, n_q_points_1d, Number >::evaluate_gradients ( const ViewTypeIn u,
ViewTypeOut grad_u )
inline

Evaluate the gradients of the finite element function at the quadrature points.

Definition at line 642 of file portable_tensor_product_kernels.h.

◆ evaluate_values_and_gradients()

template<int dim, int fe_degree, int n_q_points_1d, typename Number >
template<typename ViewType1 , typename ViewType2 >
void Portable::internal::EvaluatorTensorProduct< evaluate_general, dim, fe_degree, n_q_points_1d, Number >::evaluate_values_and_gradients ( ViewType1 u,
ViewType2 grad_u )
inline

Evaluate the values and the gradients of the finite element function at the quadrature points.

Definition at line 707 of file portable_tensor_product_kernels.h.

◆ integrate_values()

template<int dim, int fe_degree, int n_q_points_1d, typename Number >
template<typename ViewType >
void Portable::internal::EvaluatorTensorProduct< evaluate_general, dim, fe_degree, n_q_points_1d, Number >::integrate_values ( ViewType u)
inline

Helper function for integrate(). Integrate the finite element function.

Definition at line 611 of file portable_tensor_product_kernels.h.

◆ integrate_gradients()

template<int dim, int fe_degree, int n_q_points_1d, typename Number >
template<bool add, typename ViewType1 , typename ViewType2 >
void Portable::internal::EvaluatorTensorProduct< evaluate_general, dim, fe_degree, n_q_points_1d, Number >::integrate_gradients ( ViewType1 u,
ViewType2 grad_u )
inline

Helper function for integrate(). Integrate the gradients of the finite element function.

Definition at line 760 of file portable_tensor_product_kernels.h.

◆ integrate_values_and_gradients()

template<int dim, int fe_degree, int n_q_points_1d, typename Number >
template<typename ViewType1 , typename ViewType2 >
void Portable::internal::EvaluatorTensorProduct< evaluate_general, dim, fe_degree, n_q_points_1d, Number >::integrate_values_and_gradients ( ViewType1 u,
ViewType2 grad_u )
inline

Helper function for integrate(). Integrate the values and the gradients of the finite element function.

Definition at line 838 of file portable_tensor_product_kernels.h.

◆ values()

template<int dim, int fe_degree, int n_q_points_1d, 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, fe_degree, n_q_points_1d, 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 522 of file portable_tensor_product_kernels.h.

◆ gradients()

template<int dim, int fe_degree, int n_q_points_1d, 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, fe_degree, n_q_points_1d, 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 543 of file portable_tensor_product_kernels.h.

◆ co_gradients()

template<int dim, int fe_degree, int n_q_points_1d, 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, fe_degree, n_q_points_1d, 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 564 of file portable_tensor_product_kernels.h.

Member Data Documentation

◆ team_member

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

TeamPolicy handle.

Definition at line 466 of file portable_tensor_product_kernels.h.

◆ shape_values

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

Values of the shape functions.

Definition at line 471 of file portable_tensor_product_kernels.h.

◆ shape_gradients

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

Values of the shape function gradients.

Definition at line 477 of file portable_tensor_product_kernels.h.

◆ co_shape_gradients

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

Values of the shape function gradients for collocation methods.

Definition at line 483 of file portable_tensor_product_kernels.h.


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