From a2c63890ca8e2fb33bc8cdaf372ba163d8fd49b6 Mon Sep 17 00:00:00 2001 From: heltai Date: Sun, 5 Apr 2009 17:27:57 +0000 Subject: [PATCH] Fixed bug in DoFTools::map_dofs_to_support_points that prevented it from working with codimension one meshes. git-svn-id: https://svn.dealii.org/trunk@18551 0785d39b-7218-0410-832d-ea1e28bc413d --- deal.II/deal.II/include/dofs/dof_tools.h | 8 ++++---- deal.II/deal.II/source/dofs/dof_tools.cc | 19 +++++++++++++++---- 2 files changed, 19 insertions(+), 8 deletions(-) diff --git a/deal.II/deal.II/include/dofs/dof_tools.h b/deal.II/deal.II/include/dofs/dof_tools.h index ffdfb14edc..d62ecf4e6f 100644 --- a/deal.II/deal.II/include/dofs/dof_tools.h +++ b/deal.II/deal.II/include/dofs/dof_tools.h @@ -1688,7 +1688,7 @@ class DoFTools static void map_dofs_to_support_points (const Mapping &mapping, const DoFHandler &dof_handler, - std::vector > &support_points); + std::vector > &support_points); /** * This is the opposite function @@ -1721,7 +1721,7 @@ class DoFTools static void map_support_points_to_dofs (const Mapping &mapping, const DH &dof_handler, - std::map, unsigned int, Comp> &point_to_index_map); + std::map, unsigned int, Comp> &point_to_index_map); /** * Map a coupling table from the @@ -1997,12 +1997,12 @@ void DoFTools::map_support_points_to_dofs ( const Mapping &mapping, const DH &dof_handler, - std::map, unsigned int, Comp> &point_to_index_map) + std::map, unsigned int, Comp> &point_to_index_map) { // let the checking of arguments be // done by the function first // called - std::vector > support_points (dof_handler.n_dofs()); + std::vector > support_points (dof_handler.n_dofs()); map_dofs_to_support_points (mapping, dof_handler, support_points); // now copy over the results of the // previous function into the diff --git a/deal.II/deal.II/source/dofs/dof_tools.cc b/deal.II/deal.II/source/dofs/dof_tools.cc index 3545b3fff2..b015033dd4 100644 --- a/deal.II/deal.II/source/dofs/dof_tools.cc +++ b/deal.II/deal.II/source/dofs/dof_tools.cc @@ -5134,7 +5134,7 @@ template void DoFTools::map_dofs_to_support_points (const Mapping &mapping, const DoFHandler &dof_handler, - std::vector > &support_points) + std::vector > &support_points) { const unsigned int dofs_per_cell = dof_handler.get_fe().dofs_per_cell; @@ -5158,8 +5158,8 @@ DoFTools::map_dofs_to_support_points (const Mapping &mapping // rule are set to invalid values // by the used constructor. Quadrature q_dummy(dof_handler.get_fe().get_unit_support_points()); - FEValues fe_values (mapping, dof_handler.get_fe(), - q_dummy, update_quadrature_points); + FEValues fe_values (mapping, dof_handler.get_fe(), + q_dummy, update_quadrature_points); typename DoFHandler::active_cell_iterator cell = dof_handler.begin_active(), endc = dof_handler.end(); @@ -5169,7 +5169,7 @@ DoFTools::map_dofs_to_support_points (const Mapping &mapping { fe_values.reinit (cell); cell->get_dof_indices (local_dof_indices); - const std::vector > & points + const std::vector > & points = fe_values.get_quadrature_points (); for (unsigned int i=0; i const DoFHandler&, std::vector >&); +#if deal_II_dimension != 3 + +template +void +DoFTools::map_dofs_to_support_points +(const Mapping&, + const DoFHandler&, + std::vector >&); + +#endif + template void DoFTools::convert_couplings_to_blocks ( -- 2.39.5