From f0e4a6212e94d871732b790dae2cc88f243394dd Mon Sep 17 00:00:00 2001 From: kronbichler Date: Fri, 29 Nov 2013 16:01:49 +0000 Subject: [PATCH] Disable even-odd decomposition for element degree 1 because it is slower than the old implemnetation git-svn-id: https://svn.dealii.org/trunk@31832 0785d39b-7218-0410-832d-ea1e28bc413d --- .../deal.II/matrix_free/fe_evaluation.h | 24 ++++++++++++++++--- 1 file changed, 21 insertions(+), 3 deletions(-) diff --git a/deal.II/include/deal.II/matrix_free/fe_evaluation.h b/deal.II/include/deal.II/matrix_free/fe_evaluation.h index 7a18e32fd2..6e75bc5331 100644 --- a/deal.II/include/deal.II/matrix_free/fe_evaluation.h +++ b/deal.II/include/deal.II/matrix_free/fe_evaluation.h @@ -5442,9 +5442,17 @@ FEEvaluation ::apply_values (const VectorizedArray in [], VectorizedArray out []) { - internal::apply_tensor_product_evenodd 1 || n_q_points_1d > 3) + internal::apply_tensor_product_evenodd, direction, dof_to_quad, add, 0> (shape_val_evenodd, in, out); + else + internal::apply_tensor_product_values, direction, dof_to_quad, add> + (this->data.shape_values.begin(), in, out); } @@ -5458,9 +5466,14 @@ FEEvaluation ::apply_gradients (const VectorizedArray in [], VectorizedArray out []) { - internal::apply_tensor_product_evenodd 1 || n_q_points_1d > 3) + internal::apply_tensor_product_evenodd, direction, dof_to_quad, add, 1> (shape_gra_evenodd, in, out); + else + internal::apply_tensor_product_gradients, direction, dof_to_quad, add> + (this->data.shape_gradients.begin(), in, out); } @@ -5477,9 +5490,14 @@ FEEvaluation ::apply_hessians (const VectorizedArray in [], VectorizedArray out []) { - internal::apply_tensor_product_evenodd 1 || n_q_points_1d > 3) + internal::apply_tensor_product_evenodd, direction, dof_to_quad, add, 2> (shape_hes_evenodd, in, out); + else + internal::apply_tensor_product_hessians, direction, dof_to_quad, add> + (this->data.shape_hessians.begin(), in, out); } -- 2.39.5