Reference documentation for deal.II version 9.5.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
Public Types | Public Member Functions | Public Attributes | List of all members
CUDAWrappers::internal::EvaluatorTensorProduct< evaluate_general, dim, fe_degree, n_q_points_1d, Number > Struct Template Reference

#include <deal.II/matrix_free/cuda_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<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
 
template<typename ViewType >
void value_at_quad_pts (ViewType u)
 
template<typename ViewType >
void integrate_value (ViewType u)
 
template<typename ViewTypeIn , typename ViewTypeOut >
void gradient_at_quad_pts (const ViewTypeIn u, ViewTypeOut grad_u)
 
template<typename ViewType1 , typename ViewType2 >
void value_and_gradient_at_quad_pts (ViewType1 u, ViewType2 grad_u)
 
template<bool add, typename ViewType1 , typename ViewType2 >
void integrate_gradient (ViewType1 u, ViewType2 grad_u)
 
template<typename ViewType1 , typename ViewType2 >
void integrate_value_and_gradient (ViewType1 u, ViewType2 grad_u)
 

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 CUDAWrappers::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 149 of file cuda_tensor_product_kernels.h.

Member Typedef Documentation

◆ TeamHandle

template<int dim, int fe_degree, int n_q_points_1d, typename Number >
using CUDAWrappers::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 155 of file cuda_tensor_product_kernels.h.

Constructor & Destructor Documentation

◆ EvaluatorTensorProduct()

template<int dim, int fe_degree, int n_q_points_1d, typename Number >
CUDAWrappers::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 283 of file cuda_tensor_product_kernels.h.

Member Function Documentation

◆ 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 CUDAWrappers::internal::EvaluatorTensorProduct< evaluate_general, dim, fe_degree, n_q_points_1d, Number >::values ( const ViewTypeIn  in,
ViewTypeOut  out 
) const

Evaluate the values of a finite element function at the quadrature points.

Definition at line 311 of file cuda_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 CUDAWrappers::internal::EvaluatorTensorProduct< evaluate_general, dim, fe_degree, n_q_points_1d, Number >::gradients ( const ViewTypeIn  in,
ViewTypeOut  out 
) const

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

Definition at line 332 of file cuda_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 CUDAWrappers::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 353 of file cuda_tensor_product_kernels.h.

◆ value_at_quad_pts()

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

Evaluate the finite element function at the quadrature points.

Definition at line 369 of file cuda_tensor_product_kernels.h.

◆ integrate_value()

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

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

Definition at line 414 of file cuda_tensor_product_kernels.h.

◆ gradient_at_quad_pts()

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

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

Definition at line 459 of file cuda_tensor_product_kernels.h.

◆ value_and_gradient_at_quad_pts()

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

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

Definition at line 541 of file cuda_tensor_product_kernels.h.

◆ integrate_gradient()

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

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

Definition at line 606 of file cuda_tensor_product_kernels.h.

◆ integrate_value_and_gradient()

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

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

Definition at line 691 of file cuda_tensor_product_kernels.h.

Member Data Documentation

◆ team_member

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

TeamPolicy handle.

Definition at line 255 of file cuda_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> CUDAWrappers::internal::EvaluatorTensorProduct< evaluate_general, dim, fe_degree, n_q_points_1d, Number >::shape_values

Values of the shape functions.

Definition at line 260 of file cuda_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> CUDAWrappers::internal::EvaluatorTensorProduct< evaluate_general, dim, fe_degree, n_q_points_1d, Number >::shape_gradients

Values of the shape function gradients.

Definition at line 266 of file cuda_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> CUDAWrappers::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 272 of file cuda_tensor_product_kernels.h.


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