Reference documentation for deal.II version Git f6af164dc0 2020-01-19 13:12:56 +0100
\(\newcommand{\vcentcolon}{\mathrel{\mathop{:}}}\) \(\newcommand{\dealcoloneq}{\vcentcolon\mathrel{\mkern-1.2mu}=}\) \(\newcommand{\jump}[1]{\left[\!\left[ #1 \right]\!\right]}\) \(\newcommand{\average}[1]{\left\{\!\left\{ #1 \right\}\!\right\}}\)
Public Member Functions | 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 Member Functions

template<int direction, bool dof_to_quad, bool add, bool in_place>
void values (Number shape_values[], const Number *in, Number *out) const
 
template<int direction, bool dof_to_quad, bool add, bool in_place>
void gradients (Number shape_gradients[], const Number *in, Number *out) const
 
template<int direction, bool dof_to_quad, bool add, bool in_place>
void apply (Number shape_data[], const Number *in, Number *out) const
 
void value_at_quad_pts (Number *u)
 
void integrate_value (Number *u)
 
void gradient_at_quad_pts (const Number *const u, Number *grad_u[dim])
 
void value_and_gradient_at_quad_pts (Number *const u, Number *grad_u[dim])
 
template<bool add>
void integrate_gradient (Number *u, Number *grad_u[dim])
 
void integrate_value_and_gradient (Number *u, Number *grad_u[dim])
 

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 73 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>
void CUDAWrappers::internal::EvaluatorTensorProduct< evaluate_general, dim, fe_degree, n_q_points_1d, Number >::values ( Number  shape_values[],
const Number *  in,
Number *  out 
) const

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

Definition at line 172 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>
void CUDAWrappers::internal::EvaluatorTensorProduct< evaluate_general, dim, fe_degree, n_q_points_1d, Number >::gradients ( Number  shape_gradients[],
const Number *  in,
Number *  out 
) const

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

Definition at line 188 of file cuda_tensor_product_kernels.h.

◆ apply()

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>
void CUDAWrappers::internal::EvaluatorTensorProduct< evaluate_general, dim, fe_degree, n_q_points_1d, Number >::apply ( Number  shape_data[],
const Number *  in,
Number *  out 
) const

Helper function for values() and gradients().

Definition at line 204 of file cuda_tensor_product_kernels.h.

◆ value_at_quad_pts()

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

Evaluate the finite element function at the quadrature points.

Definition at line 253 of file cuda_tensor_product_kernels.h.

◆ integrate_value()

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

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

Definition at line 309 of file cuda_tensor_product_kernels.h.

◆ gradient_at_quad_pts()

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

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

Definition at line 365 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 >
void CUDAWrappers::internal::EvaluatorTensorProduct< evaluate_general, dim, fe_degree, n_q_points_1d, Number >::value_and_gradient_at_quad_pts ( Number *const  u,
Number *  grad_u[dim] 
)
inline

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

Definition at line 447 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>
void CUDAWrappers::internal::EvaluatorTensorProduct< evaluate_general, dim, fe_degree, n_q_points_1d, Number >::integrate_gradient ( Number *  u,
Number *  grad_u[dim] 
)
inline

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

Definition at line 523 of file cuda_tensor_product_kernels.h.

◆ integrate_value_and_gradient()

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

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

Definition at line 607 of file cuda_tensor_product_kernels.h.


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