From 0f18c927aa63f031af62b0764f45b5950487c3e9 Mon Sep 17 00:00:00 2001 From: janssen Date: Sun, 6 Nov 2011 15:44:11 +0000 Subject: [PATCH] make_cell_pathes with offset and selection of certain dofs git-svn-id: https://svn.dealii.org/trunk@24730 0785d39b-7218-0410-832d-ea1e28bc413d --- deal.II/include/deal.II/dofs/dof_tools.h | 4 +++- deal.II/source/dofs/dof_tools.cc | 23 ++++++++++++++++++++--- deal.II/source/dofs/dof_tools.inst.in | 2 +- 3 files changed, 24 insertions(+), 5 deletions(-) diff --git a/deal.II/include/deal.II/dofs/dof_tools.h b/deal.II/include/deal.II/dofs/dof_tools.h index ff900bc669..bc9870f6c1 100644 --- a/deal.II/include/deal.II/dofs/dof_tools.h +++ b/deal.II/include/deal.II/dofs/dof_tools.h @@ -1488,7 +1488,9 @@ namespace DoFTools template void make_cell_patches(Sparsity& block_list, const DH& dof_handler, - const unsigned int level); + const unsigned int level, + const std::vector& selected_dofs = std::vector(), + unsigned int offset = 0); /** * Create a sparsity pattern which diff --git a/deal.II/source/dofs/dof_tools.cc b/deal.II/source/dofs/dof_tools.cc index e503a985b2..560e752a66 100644 --- a/deal.II/source/dofs/dof_tools.cc +++ b/deal.II/source/dofs/dof_tools.cc @@ -5861,7 +5861,12 @@ namespace DoFTools } template - void make_cell_patches(Sparsity& block_list, const DH& dof_handler, const unsigned int level) + void make_cell_patches( + Sparsity& block_list, + const DH& dof_handler, + const unsigned int level, + const std::vector& selected_dofs, + unsigned int offset) { typename DH::cell_iterator cell; typename DH::cell_iterator endc = dof_handler.end(level); @@ -5872,8 +5877,20 @@ namespace DoFTools { indices.resize(cell->get_fe().dofs_per_cell); cell->get_mg_dof_indices(indices); - for (unsigned int j=0;j,SP> - (SP&, const MGDoFHandler&, unsigned int); + (SP&, const MGDoFHandler&, unsigned int, const std::vector&, unsigned int); #if deal_II_dimension > 1 -- 2.39.5