From de4628fb0cf30538ec122f289207d0acfd23489d Mon Sep 17 00:00:00 2001 From: agrayver Date: Wed, 13 Aug 2014 14:40:48 +0200 Subject: [PATCH] Fix bug in project_boundary_values_curl_conforming related to the wrong indexing of high-order DoFs in internals::compute_face_projection_curl_conforming. --- include/deal.II/numerics/vector_tools.templates.h | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/include/deal.II/numerics/vector_tools.templates.h b/include/deal.II/numerics/vector_tools.templates.h index a8f5fe91a3..bf449c8c25 100644 --- a/include/deal.II/numerics/vector_tools.templates.h +++ b/include/deal.II/numerics/vector_tools.templates.h @@ -3218,7 +3218,7 @@ namespace VectorTools && (fe.base_element (base_indices.first).face_to_cell_index (2 * fe.degree, face) <= fe.system_to_base_index (fe.face_to_cell_index (i, face)).second) && (fe.system_to_base_index (fe.face_to_cell_index (i, face)).second - < fe.base_element (base_indices.first).face_to_cell_index (4 * fe.degree, face))) + <= fe.base_element (base_indices.first).face_to_cell_index (4 * fe.degree - 1, face))) || ((dynamic_cast*> (&fe) != 0) && (2 * fe.degree <= i) && (i < 4 * fe.degree))) tmp -= dof_values[i] * fe_values[vec].value (fe.face_to_cell_index (i, face), q_point); @@ -3328,7 +3328,9 @@ namespace VectorTools if (((dynamic_cast*> (&fe) != 0) && (fe.system_to_base_index (fe.face_to_cell_index (i, face)).first == base_indices) && (fe.system_to_base_index (fe.face_to_cell_index (i, face)).second - < fe.base_element (base_indices.first).face_to_cell_index (2 * fe.degree, face))) + <= fe.base_element (base_indices.first).face_to_cell_index (2 * fe.degree - 1, face)) + && (fe.system_to_base_index (fe.face_to_cell_index (i, face)).second + >= fe.base_element (base_indices.first).face_to_cell_index (0, face))) || ((dynamic_cast*> (&fe) != 0) && (i < 2 * fe.degree))) tmp -= dof_values[i] * fe_values[vec].value (fe.face_to_cell_index (i, face), q_point); -- 2.39.5