From 529afe8dc4da702af50641efb821abacbc06acde Mon Sep 17 00:00:00 2001 From: Wolfgang Bangerth Date: Sat, 10 Aug 2013 21:27:59 +0000 Subject: [PATCH] Leave a couple of TODOs. There are ways to make the current code simpler, but most of what needs to work works now, so I will leave it at this for the moment and we will see if anyone runs into the assertions that remain for now. git-svn-id: https://svn.dealii.org/trunk@30282 0785d39b-7218-0410-832d-ea1e28bc413d --- deal.II/source/fe/fe.cc | 9 +++++++++ deal.II/source/fe/fe_q_base.cc | 9 +++++++++ 2 files changed, 18 insertions(+) diff --git a/deal.II/source/fe/fe.cc b/deal.II/source/fe/fe.cc index 8e48a01f87..501e7e0d81 100644 --- a/deal.II/source/fe/fe.cc +++ b/deal.II/source/fe/fe.cc @@ -558,6 +558,15 @@ face_to_cell_index (const unsigned int face_index, Assert (face < GeometryInfo::faces_per_cell, ExcIndexRange(face, 0, GeometryInfo::faces_per_cell)); +//TODO: we could presumably solve the 3d case below using the +// adjust_quad_dof_index_for_face_orientation_table field. for the +// 2d case, we can't use adjust_line_dof_index_for_line_orientation_table +// since that array is empty (presumably because we thought that +// there are no flipped edges in 2d, but these can happen in +// DoFTools::make_periodicity_constraints, for example). so we +// would need to either fill this field, or rely on derived classes +// implementing this function, as we currently do + // see the function's documentation for an explanation of this // assertion -- in essence, derived classes have to implement // an overloaded version of this function if we are to use any diff --git a/deal.II/source/fe/fe_q_base.cc b/deal.II/source/fe/fe_q_base.cc index 7e54963284..a43e3be528 100644 --- a/deal.II/source/fe/fe_q_base.cc +++ b/deal.II/source/fe/fe_q_base.cc @@ -1000,6 +1000,15 @@ face_to_cell_index (const unsigned int face_index, Assert (face < GeometryInfo::faces_per_cell, ExcIndexRange(face, 0, GeometryInfo::faces_per_cell)); +//TODO: we could presumably solve the 3d case below using the +// adjust_quad_dof_index_for_face_orientation_table field. for the +// 2d case, we can't use adjust_line_dof_index_for_line_orientation_table +// since that array is empty (presumably because we thought that +// there are no flipped edges in 2d, but these can happen in +// DoFTools::make_periodicity_constraints, for example). so we +// would need to either fill this field, or rely on derived classes +// implementing this function, as we currently do + // we need to distinguish between DoFs on vertices, lines and in 3d quads. // do so in a sequence of if-else statements if (face_index < this->first_face_line_index) -- 2.39.5