From a4169481b41bdfc7e7f5bac81b37a846d7535b5c Mon Sep 17 00:00:00 2001 From: kronbichler Date: Wed, 6 Feb 2013 10:03:45 +0000 Subject: [PATCH] Replace deprecated row_iterator by iterator. git-svn-id: https://svn.dealii.org/trunk@28244 0785d39b-7218-0410-832d-ea1e28bc413d --- .../deal.II/matrix_free/dof_info.templates.h | 29 ++++++++++++------- 1 file changed, 18 insertions(+), 11 deletions(-) diff --git a/deal.II/include/deal.II/matrix_free/dof_info.templates.h b/deal.II/include/deal.II/matrix_free/dof_info.templates.h index 1673b078eb..2430dcecdb 100644 --- a/deal.II/include/deal.II/matrix_free/dof_info.templates.h +++ b/deal.II/include/deal.II/matrix_free/dof_info.templates.h @@ -1484,7 +1484,8 @@ not_connect: { neighbor_neighbor_list.resize(0); } - break;//goto not_connected; + start_up--; + break;// not connected - start again } index_before = index; } @@ -1746,8 +1747,8 @@ not_connect: if (row_lengths[row] == 1) row_lengths[row] = 0; - SparsityPattern connectivity_dof (n_rows, n_blocks, row_lengths, false); - cell_start = 0,mcell_start = 0; + SparsityPattern connectivity_dof (n_rows, n_blocks, row_lengths); + cell_start = 0, mcell_start = 0; for (unsigned int block = 0; block < n_blocks; ++block) { // if we have the blocking variant (used in the coloring scheme), we @@ -1816,14 +1817,17 @@ not_connect: for ( ; it != end_cell; ++it) if (row_lengths[*it] > 0) { - SparsityPattern::row_iterator sp = connectivity_dof.row_begin(*it); + SparsityPattern::iterator sp = connectivity_dof.begin(*it); + // jump over diagonal for square patterns + if (connectivity_dof.n_rows()==connectivity_dof.n_cols()) + ++sp; row_entries.reserve (row_entries.size() + end_cell - it); std::vector::iterator insert_pos = row_entries.begin(); - for ( ; sp != connectivity_dof.row_end(*it); ++sp) - if (*sp >= block) + for ( ; sp != connectivity_dof.end(*it); ++sp) + if (sp->column() >= block) break; else - row_entries.insert (*sp, insert_pos); + row_entries.insert (sp->column(), insert_pos); } } cell_start +=n_comp; @@ -1837,14 +1841,17 @@ not_connect: for ( ; it != end_cell; ++it) if (row_lengths[*it] > 0) { - SparsityPattern::row_iterator sp = connectivity_dof.row_begin(*it); + SparsityPattern::iterator sp = connectivity_dof.begin(*it); + // jump over diagonal for square patterns + if (connectivity_dof.n_rows()==connectivity_dof.n_cols()) + ++sp; row_entries.reserve (row_entries.size() + end_cell - it); std::vector::iterator insert_pos = row_entries.begin(); - for ( ; sp != connectivity_dof.row_end(*it); ++sp) - if (*sp >= block) + for ( ; sp != connectivity_dof.end(*it); ++sp) + if (sp->column() >= block) break; else - row_entries.insert (*sp, insert_pos); + row_entries.insert (sp->column(), insert_pos); } } connectivity.add_entries (block, row_entries.begin(), row_entries.end()); -- 2.39.5