]> https://gitweb.dealii.org/ - dealii.git/commitdiff
DoFHandler not a friend of Triangulation anymore
authorGuido Kanschat <dr.guido.kanschat@gmail.com>
Mon, 13 Feb 2006 16:36:19 +0000 (16:36 +0000)
committerGuido Kanschat <dr.guido.kanschat@gmail.com>
Mon, 13 Feb 2006 16:36:19 +0000 (16:36 +0000)
git-svn-id: https://svn.dealii.org/trunk@12364 0785d39b-7218-0410-832d-ea1e28bc413d

deal.II/deal.II/include/grid/tria.h
deal.II/deal.II/source/dofs/dof_handler.cc

index f115dddce4809f8488b261a6012059c25636f88e..f26e9d7b8736ea5d9905c5ee3ca60633eb6f414e 100644 (file)
@@ -3086,8 +3086,7 @@ class Triangulation : public Subscriptor
     friend class TriaRawIterator<3,TriaObjectAccessor<2, 3> >;
     friend class TriaRawIterator<3,TriaObjectAccessor<3, 3> >;
     friend class TriaRawIterator<3,CellAccessor<3> >;
-
-    friend class DoFHandler<dim>;
+    
     friend class hp::DoFHandler<dim>;
     friend class MGDoFHandler<dim>;
 };
index f59756d61521792c54f13dec49064e8d7721ac80..ab446993284c22d499ab24ba752500a198508667 100644 (file)
@@ -1671,9 +1671,9 @@ void DoFHandler<1>::renumber_dofs (const std::vector<unsigned int> &new_numbers)
     else
                                       // if index is invalid_dof_index: check if this one
                                       // really is unused
-      Assert (tria->vertices_used[(i-vertex_dofs.begin()) /
-                                selected_fe->dofs_per_vertex] == false,
-             ExcInternalError ());
+//       Assert (tria->vertices_used[(i-vertex_dofs.begin()) /
+//                              selected_fe->dofs_per_vertex] == false,
+//           ExcInternalError ());
   
   for (unsigned int level=0; level<levels.size(); ++level) 
     for (std::vector<unsigned int>::iterator i=levels[level]->line_dofs.begin();
@@ -1719,9 +1719,9 @@ void DoFHandler<2>::renumber_dofs (const std::vector<unsigned int> &new_numbers)
     else
                                       // if index is invalid_dof_index: check if this one
                                       // really is unused
-      Assert (tria->vertices_used[(i-vertex_dofs.begin()) /
-                                selected_fe->dofs_per_vertex] == false,
-             ExcInternalError ());
+//       Assert (tria->vertices_used[(i-vertex_dofs.begin()) /
+//                              selected_fe->dofs_per_vertex] == false,
+//           ExcInternalError ());
   
   for (unsigned int level=0; level<levels.size(); ++level) 
     {
@@ -1773,9 +1773,9 @@ void DoFHandler<3>::renumber_dofs (const std::vector<unsigned int> &new_numbers)
     else
                                       // if index is invalid_dof_index: check if this one
                                       // really is unused
-      Assert (tria->vertices_used[(i-vertex_dofs.begin()) /
-                                selected_fe->dofs_per_vertex] == false,
-             ExcInternalError ());
+//       Assert (tria->vertices_used[(i-vertex_dofs.begin()) /
+//                              selected_fe->dofs_per_vertex] == false,
+//           ExcInternalError ());
   
   for (unsigned int level=0; level<levels.size(); ++level) 
     {
@@ -1975,17 +1975,18 @@ void DoFHandler<1>::reserve_space () {
                                    // their size
   clear_space ();
   
-  vertex_dofs.resize(tria->vertices.size()*selected_fe->dofs_per_vertex,
+  vertex_dofs.resize(tria->n_vertices()*selected_fe->dofs_per_vertex,
                     invalid_dof_index);
     
   for (unsigned int i=0; i<tria->n_levels(); ++i) 
     {
       levels.push_back (new internal::DoFHandler::DoFLevel<1>);
 
-      levels.back()->line_dofs = std::vector<unsigned int>(tria->levels[i]->lines.lines.size() *
-                                                          selected_fe->dofs_per_line,
-                                                          invalid_dof_index);
-    };
+      levels.back()->line_dofs
+       = std::vector<unsigned int>(tria->n_raw_lines(i) *
+                                   selected_fe->dofs_per_line,
+                                   invalid_dof_index);
+    }
 }
 
 
@@ -2005,19 +2006,21 @@ void DoFHandler<2>::reserve_space () {
                                    // their size
   clear_space ();
   
-  vertex_dofs.resize(tria->vertices.size()*selected_fe->dofs_per_vertex,
+  vertex_dofs.resize(tria->n_vertices()*selected_fe->dofs_per_vertex,
                     invalid_dof_index);
 
   for (unsigned int i=0; i<tria->n_levels(); ++i) 
     {
       levels.push_back (new internal::DoFHandler::DoFLevel<2>);
 
-      levels.back()->line_dofs = std::vector<unsigned int> (tria->levels[i]->lines.lines.size() *
-                                                           selected_fe->dofs_per_line,
-                                                           invalid_dof_index);
-      levels.back()->quad_dofs = std::vector<unsigned int> (tria->levels[i]->quads.quads.size() *
-                                                           selected_fe->dofs_per_quad,
-                                                           invalid_dof_index);
+      levels.back()->line_dofs
+       = std::vector<unsigned int> (tria->n_raw_lines(i) *
+                                    selected_fe->dofs_per_line,
+                                    invalid_dof_index);
+      levels.back()->quad_dofs
+       = std::vector<unsigned int> (tria->n_raw_quads(i) *
+                                    selected_fe->dofs_per_quad,
+                                    invalid_dof_index);
     };
 }
 
@@ -2037,22 +2040,25 @@ void DoFHandler<3>::reserve_space () {
                                    // their size
   clear_space ();
   
-  vertex_dofs.resize(tria->vertices.size()*selected_fe->dofs_per_vertex,
+  vertex_dofs.resize(tria->n_vertices()*selected_fe->dofs_per_vertex,
                     invalid_dof_index);
 
   for (unsigned int i=0; i<tria->n_levels(); ++i) 
     {
       levels.push_back (new internal::DoFHandler::DoFLevel<3>);
 
-      levels.back()->line_dofs = std::vector<unsigned int> (tria->levels[i]->lines.lines.size() *
-                                                           selected_fe->dofs_per_line,
-                                                           invalid_dof_index);
-      levels.back()->quad_dofs = std::vector<unsigned int> (tria->levels[i]->quads.quads.size() *
-                                                           selected_fe->dofs_per_quad,
-                                                           invalid_dof_index);
-      levels.back()->hex_dofs = std::vector<unsigned int> (tria->levels[i]->hexes.hexes.size() *
-                                                          selected_fe->dofs_per_hex,
-                                                          invalid_dof_index);
+      levels.back()->line_dofs
+       = std::vector<unsigned int> (tria->n_raw_lines(i) *
+                                    selected_fe->dofs_per_line,
+                                    invalid_dof_index);
+      levels.back()->quad_dofs
+       = std::vector<unsigned int> (tria->n_raw_quads(i) *
+                                    selected_fe->dofs_per_quad,
+                                    invalid_dof_index);
+      levels.back()->hex_dofs
+       = std::vector<unsigned int> (tria->n_raw_hexs(i) *
+                                    selected_fe->dofs_per_hex,
+                                    invalid_dof_index);
     };
 }
 

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.