Reference documentation for deal.II version GIT relicensing-687-gbf51c6da8c 2024-05-21 02:00:02+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, fe_degree, n_q_points_1d, Number > Struct Template Reference

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

Public Types

using TeamHandle = Kokkos::TeamPolicy< MemorySpace::Default::kokkos_space::execution_space >::member_type
 

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 361 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 = Kokkos::TeamPolicy< MemorySpace::Default::kokkos_space::execution_space>::member_type

Definition at line 368 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 497 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 583 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 645 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 710 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 614 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 763 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 841 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 525 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 546 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 567 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 469 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 474 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 480 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 486 of file portable_tensor_product_kernels.h.


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