16#ifndef dealii_matrix_free_evaluation_template_factory_h
17#define dealii_matrix_free_evaluation_template_factory_h
30template <
int,
typename,
bool>
36 template <
int dim,
typename Number>
42 const Number *values_dofs,
50 const bool sum_into_values_array);
54 const unsigned int n_q_points_1d);
59 template <
int dim,
typename Number>
65 const Number *values_dofs,
71 const Number *values_dofs,
84 const bool sum_into_values);
91 const bool sum_into_values);
100 const unsigned int n_q_points_1d);
105 template <
int dim,
typename Number,
typename VectorizedArrayType>
111 const Number *src_ptr,
125 template <
int dim,
typename Number>
129 apply(
const unsigned int n_components,
131 const Number *in_array,
135 apply(
const unsigned int n_components,
138 const bool dyadic_coefficients,
139 const Number *in_array,
144 const unsigned int n_components,
146 const Number *in_array,
156 apply(
const unsigned int n_components,
157 const unsigned int fe_degree,
161 VectorizedArrayType::size()> &c_mask,
162 VectorizedArrayType *values);
#define DEAL_II_NAMESPACE_OPEN
#define DEAL_II_NAMESPACE_CLOSE
EvaluationFlags
The EvaluationFlags enum.
std::uint8_t compressed_constraint_kind
static void apply(const unsigned int n_components, const FEEvaluationData< dim, Number, false > &fe_eval, const Number *in_array, Number *out_array)
static void apply(const unsigned int n_components, const FEEvaluationData< dim, Number, false > &fe_eval, const ArrayView< const Number > &inverse_coefficients, const bool dyadic_coefficients, const Number *in_array, Number *out_array)
static void transform_from_q_points_to_basis(const unsigned int n_components, const FEEvaluationData< dim, Number, false > &fe_eval, const Number *in_array, Number *out_array)
static bool fast_evaluation_supported(const unsigned int given_degree, const unsigned int n_q_points_1d)
static void evaluate(const unsigned int n_components, const EvaluationFlags::EvaluationFlags evaluation_flag, const Number *values_dofs, FEEvaluationData< dim, Number, false > &fe_eval)
static void integrate(const unsigned int n_components, const EvaluationFlags::EvaluationFlags integration_flag, Number *values_dofs, FEEvaluationData< dim, Number, false > &fe_eval, const bool sum_into_values_array)
static void apply(const unsigned int n_components, const unsigned int fe_degree, const MatrixFreeFunctions::ShapeInfo< Number > &shape_info, const bool transpose, const std::array< MatrixFreeFunctions::compressed_constraint_kind, VectorizedArrayType::size()> &c_mask, VectorizedArrayType *values)
static void integrate(const unsigned int n_components, const EvaluationFlags::EvaluationFlags integration_flag, Number *values_dofs, FEEvaluationData< dim, Number, true > &fe_eval, const bool sum_into_values)
static void evaluate(const unsigned int n_components, const EvaluationFlags::EvaluationFlags evaluation_flag, const Number *values_dofs, FEEvaluationData< dim, Number, true > &fe_eval)
static bool fast_evaluation_supported(const unsigned int given_degree, const unsigned int n_q_points_1d)
static void evaluate_in_face(const unsigned int n_components, const EvaluationFlags::EvaluationFlags evaluation_flag, FEEvaluationData< dim, Number, true > &fe_eval)
static void integrate_in_face(const unsigned int n_components, const EvaluationFlags::EvaluationFlags integration_flag, FEEvaluationData< dim, Number, true > &fe_eval)
static void collect_from_face(const unsigned int n_components, const EvaluationFlags::EvaluationFlags integration_flag, Number *values_dofs, FEEvaluationData< dim, Number, true > &fe_eval, const bool sum_into_values)
static void project_to_face(const unsigned int n_components, const EvaluationFlags::EvaluationFlags evaluation_flag, const Number *values_dofs, FEEvaluationData< dim, Number, true > &fe_eval)
static void evaluate(const unsigned int n_components, const EvaluationFlags::EvaluationFlags evaluation_flag, const Number *src_ptr, const std::vector< ArrayView< const Number > > *sm_ptr, FEEvaluationData< dim, VectorizedArrayType, true > &fe_eval)
static void integrate(const unsigned int n_components, const EvaluationFlags::EvaluationFlags integration_flag, Number *dst_ptr, const std::vector< ArrayView< const Number > > *sm_ptr, FEEvaluationData< dim, VectorizedArrayType, true > &fe_eval)