deal.II version GIT relicensing-1929-g70a5450eef 2024-10-03 18:00:00+00:00
|
#include <deal.II/matrix_free/evaluation_kernels.h>
Public Types | |
using | Number2 = typename FEEvaluationData< dim, Number, false >::shape_info_number_type |
using | Eval = EvaluatorTensorProduct< variant, dim, fe_degree+1, n_q_points_1d, Number, Number2 > |
Static Public Member Functions | |
static void | evaluate (const unsigned int n_components, const EvaluationFlags::EvaluationFlags evaluation_flag, const Number *values_dofs_actual, FEEvaluationData< dim, Number, false > &fe_eval) |
static void | integrate (const unsigned int n_components, const EvaluationFlags::EvaluationFlags integration_flag, Number *values_dofs_actual, FEEvaluationData< dim, Number, false > &fe_eval, const bool add_into_values_array) |
static Eval | create_evaluator_tensor_product (const MatrixFreeFunctions::UnivariateShapeData< Number2 > *univariate_shape_data) |
Static Public Attributes | |
static const EvaluatorVariant | variant |
This struct performs the evaluation of function values and gradients for tensor-product finite elements. The operation is used for both the symmetric and non-symmetric case, which use different apply functions 'values', 'gradients' in the individual coordinate directions. The apply functions for values are provided through one of the template classes EvaluatorTensorProduct which in turn are selected from the MatrixFreeFunctions::ElementType template argument.
There are two specialized implementation classes FEEvaluationImplCollocation (for Gauss-Lobatto elements where the nodal points and the quadrature points coincide and the 'values' operation is identity) and FEEvaluationImplTransformToCollocation (which can be transformed to a collocation space and can then use the identity in these spaces), which both allow for shorter code.
Definition at line 112 of file evaluation_kernels.h.
using internal::FEEvaluationImpl< type, dim, fe_degree, n_q_points_1d, Number >::Number2 = typename FEEvaluationData<dim, Number, false>::shape_info_number_type |
Definition at line 116 of file evaluation_kernels.h.
using internal::FEEvaluationImpl< type, dim, fe_degree, n_q_points_1d, Number >::Eval = EvaluatorTensorProduct<variant, dim, fe_degree + 1, n_q_points_1d, Number, Number2> |
Definition at line 119 of file evaluation_kernels.h.
|
inlinestatic |
Definition at line 194 of file evaluation_kernels.h.
|
inlinestatic |
Definition at line 391 of file evaluation_kernels.h.
|
inlinestatic |
Definition at line 140 of file evaluation_kernels.h.
|
static |
Definition at line 114 of file evaluation_kernels.h.