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 Member Functions | Private Attributes | List of all members
internal::EvaluatorTensorProduct< evaluate_evenodd, dim, 0, 0, Number, Number2 > Struct Template Reference

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

Public Member Functions

 EvaluatorTensorProduct ()
 
 EvaluatorTensorProduct (const AlignedVector< Number2 > &shape_values, const unsigned int n_rows=0, const unsigned int n_columns=0)
 
 EvaluatorTensorProduct (const AlignedVector< Number2 > &shape_values, const AlignedVector< Number2 > &shape_gradients, const AlignedVector< Number2 > &shape_hessians, const unsigned int n_rows=0, const unsigned int n_columns=0)
 
template<int direction, bool contract_over_rows, bool add>
void values (const Number in[], Number out[]) const
 
template<int direction, bool contract_over_rows, bool add>
void gradients (const Number in[], Number out[]) const
 
template<int direction, bool contract_over_rows, bool add>
void hessians (const Number in[], Number out[]) const
 
template<int direction, bool contract_over_rows, bool add>
void values_one_line (const Number in[], Number out[]) const
 
template<int direction, bool contract_over_rows, bool add>
void gradients_one_line (const Number in[], Number out[]) const
 
template<int direction, bool contract_over_rows, bool add>
void hessians_one_line (const Number in[], Number out[]) const
 
template<int direction, bool contract_over_rows, bool add, int type, bool one_line = false>
void apply (const Number2 *DEAL_II_RESTRICT shape_data, const Number *in, Number *out) const
 

Private Attributes

const Number2 * shape_values
 
const Number2 * shape_gradients
 
const Number2 * shape_hessians
 
const unsigned int n_rows
 
const unsigned int n_columns
 

Detailed Description

template<int dim, typename Number, typename Number2>
struct internal::EvaluatorTensorProduct< evaluate_evenodd, dim, 0, 0, Number, Number2 >

Internal evaluator for shape function using the tensor product form of the basis functions. The same as the other templated class but without making use of template arguments and variable loop bounds instead.

Definition at line 2010 of file tensor_product_kernels.h.

Constructor & Destructor Documentation

◆ EvaluatorTensorProduct() [1/3]

template<int dim, typename Number , typename Number2 >
internal::EvaluatorTensorProduct< evaluate_evenodd, dim, 0, 0, Number, Number2 >::EvaluatorTensorProduct ( )
inline

Definition at line 2012 of file tensor_product_kernels.h.

◆ EvaluatorTensorProduct() [2/3]

template<int dim, typename Number , typename Number2 >
internal::EvaluatorTensorProduct< evaluate_evenodd, dim, 0, 0, Number, Number2 >::EvaluatorTensorProduct ( const AlignedVector< Number2 > &  shape_values,
const unsigned int  n_rows = 0,
const unsigned int  n_columns = 0 
)
inline

Definition at line 2020 of file tensor_product_kernels.h.

◆ EvaluatorTensorProduct() [3/3]

template<int dim, typename Number , typename Number2 >
internal::EvaluatorTensorProduct< evaluate_evenodd, dim, 0, 0, Number, Number2 >::EvaluatorTensorProduct ( const AlignedVector< Number2 > &  shape_values,
const AlignedVector< Number2 > &  shape_gradients,
const AlignedVector< Number2 > &  shape_hessians,
const unsigned int  n_rows = 0,
const unsigned int  n_columns = 0 
)
inline

Definition at line 2032 of file tensor_product_kernels.h.

Member Function Documentation

◆ values()

template<int dim, typename Number , typename Number2 >
template<int direction, bool contract_over_rows, bool add>
void internal::EvaluatorTensorProduct< evaluate_evenodd, dim, 0, 0, Number, Number2 >::values ( const Number  in[],
Number  out[] 
) const
inline

Definition at line 2053 of file tensor_product_kernels.h.

◆ gradients()

template<int dim, typename Number , typename Number2 >
template<int direction, bool contract_over_rows, bool add>
void internal::EvaluatorTensorProduct< evaluate_evenodd, dim, 0, 0, Number, Number2 >::gradients ( const Number  in[],
Number  out[] 
) const
inline

Definition at line 2061 of file tensor_product_kernels.h.

◆ hessians()

template<int dim, typename Number , typename Number2 >
template<int direction, bool contract_over_rows, bool add>
void internal::EvaluatorTensorProduct< evaluate_evenodd, dim, 0, 0, Number, Number2 >::hessians ( const Number  in[],
Number  out[] 
) const
inline

Definition at line 2069 of file tensor_product_kernels.h.

◆ values_one_line()

template<int dim, typename Number , typename Number2 >
template<int direction, bool contract_over_rows, bool add>
void internal::EvaluatorTensorProduct< evaluate_evenodd, dim, 0, 0, Number, Number2 >::values_one_line ( const Number  in[],
Number  out[] 
) const
inline

Definition at line 2077 of file tensor_product_kernels.h.

◆ gradients_one_line()

template<int dim, typename Number , typename Number2 >
template<int direction, bool contract_over_rows, bool add>
void internal::EvaluatorTensorProduct< evaluate_evenodd, dim, 0, 0, Number, Number2 >::gradients_one_line ( const Number  in[],
Number  out[] 
) const
inline

Definition at line 2085 of file tensor_product_kernels.h.

◆ hessians_one_line()

template<int dim, typename Number , typename Number2 >
template<int direction, bool contract_over_rows, bool add>
void internal::EvaluatorTensorProduct< evaluate_evenodd, dim, 0, 0, Number, Number2 >::hessians_one_line ( const Number  in[],
Number  out[] 
) const
inline

Definition at line 2095 of file tensor_product_kernels.h.

◆ apply()

template<int dim, typename Number , typename Number2 >
template<int direction, bool contract_over_rows, bool add, int type, bool one_line = false>
void internal::EvaluatorTensorProduct< evaluate_evenodd, dim, 0, 0, Number, Number2 >::apply ( const Number2 *DEAL_II_RESTRICT  shape_data,
const Number *  in,
Number *  out 
) const
inline

Definition at line 2109 of file tensor_product_kernels.h.

Member Data Documentation

◆ shape_values

template<int dim, typename Number , typename Number2 >
const Number2* internal::EvaluatorTensorProduct< evaluate_evenodd, dim, 0, 0, Number, Number2 >::shape_values
private

Definition at line 2126 of file tensor_product_kernels.h.

◆ shape_gradients

template<int dim, typename Number , typename Number2 >
const Number2* internal::EvaluatorTensorProduct< evaluate_evenodd, dim, 0, 0, Number, Number2 >::shape_gradients
private

Definition at line 2127 of file tensor_product_kernels.h.

◆ shape_hessians

template<int dim, typename Number , typename Number2 >
const Number2* internal::EvaluatorTensorProduct< evaluate_evenodd, dim, 0, 0, Number, Number2 >::shape_hessians
private

Definition at line 2128 of file tensor_product_kernels.h.

◆ n_rows

template<int dim, typename Number , typename Number2 >
const unsigned int internal::EvaluatorTensorProduct< evaluate_evenodd, dim, 0, 0, Number, Number2 >::n_rows
private

Definition at line 2129 of file tensor_product_kernels.h.

◆ n_columns

template<int dim, typename Number , typename Number2 >
const unsigned int internal::EvaluatorTensorProduct< evaluate_evenodd, dim, 0, 0, Number, Number2 >::n_columns
private

Definition at line 2130 of file tensor_product_kernels.h.


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