Reference documentation for deal.II version 9.0.0
|
#include <deal.II/matrix_free/evaluation_selector.h>
Static Public Member Functions | |
static void | evaluate (const internal::MatrixFreeFunctions::ShapeInfo< Number > &shape_info, Number *values_dofs_actual, Number *values_quad, Number *gradients_quad, Number *hessians_quad, Number *scratch_data, const bool evaluate_values, const bool evaluate_gradients, const bool evaluate_hessians) |
static void | integrate (const internal::MatrixFreeFunctions::ShapeInfo< Number > &shape_info, Number *values_dofs_actual, Number *values_quad, Number *gradients_quad, Number *scratch_data, const bool integrate_values, const bool integrate_gradients) |
This class chooses an appropriate evaluation strategy based on the template parameters and the shape_info variable which contains runtime parameters. In case the template parameters fe_degree and n_q_points_1d contain valid information (i.e. fe_degree>-1 and n_q_points_1d>0), we simply pass these values to the respective template specializations. Otherwise, we perform a runtime matching of the runtime parameters to find the correct specialization. This matching currently supports \(0\leq fe\_degree \leq 9\) and \(degree+1\leq n\_q\_points\_1d\leq fe\_degree+2\).
Definition at line 291 of file evaluation_selector.h.
|
static |
Chooses an appropriate evaluation strategy for the evaluate function, i.e. this calls internal::FEEvaluationImpl::evaluate(), internal::FEEvaluationImplCollocation::evaluate() or internal::FEEvaluationImplTransformToCollocation::evaluate() with appropriate template parameters.
|
static |
Chooses an appropriate evaluation strategy for the integrate function, i.e. this calls internal::FEEvaluationImpl::integrate(), internal::FEEvaluationImplCollocation::integrate() or internal::FEEvaluationImplTransformToCollocation::integrate() with appropriate template parameters.