]> https://gitweb.dealii.org/ - dealii-svn.git/commitdiff
Replace deprecated row_iterator by iterator.
authorkronbichler <kronbichler@0785d39b-7218-0410-832d-ea1e28bc413d>
Wed, 6 Feb 2013 10:03:45 +0000 (10:03 +0000)
committerkronbichler <kronbichler@0785d39b-7218-0410-832d-ea1e28bc413d>
Wed, 6 Feb 2013 10:03:45 +0000 (10:03 +0000)
git-svn-id: https://svn.dealii.org/trunk@28244 0785d39b-7218-0410-832d-ea1e28bc413d

deal.II/include/deal.II/matrix_free/dof_info.templates.h

index 1673b078ebb9bacb8033d620fdc65f0e03cad237..2430dcecdb386efb36376fbc97a1d57b175538f2 100644 (file)
@@ -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<unsigned int>::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<unsigned int>::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());

In the beginning the Universe was created. This has made a lot of people very angry and has been widely regarded as a bad move.

Douglas Adams


Typeset in Trocchi and Trocchi Bold Sans Serif.