From: guido Date: Fri, 14 Jul 2000 20:19:59 +0000 (+0000) Subject: Access to single-level cell changed X-Git-Url: https://gitweb.dealii.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=fb2b0fec7adcc53b2ff55553a630baa3c208a1cb;p=dealii-svn.git Access to single-level cell changed git-svn-id: https://svn.dealii.org/trunk@3160 0785d39b-7218-0410-832d-ea1e28bc413d --- diff --git a/deal.II/deal.II/include/multigrid/multigrid.templates.h b/deal.II/deal.II/include/multigrid/multigrid.templates.h index 51384d716e..59eb3f701e 100644 --- a/deal.II/deal.II/include/multigrid/multigrid.templates.h +++ b/deal.II/deal.II/include/multigrid/multigrid.templates.h @@ -78,8 +78,6 @@ Multigrid::copy_to_mg (const Vector& osrc) // already have built. for (int level=maxlevel; level>=static_cast(minlevel); --level) { - DoFHandler::active_cell_iterator - global_cell = mg_dof_handler->DoFHandler::begin_active(level); MGDoFHandler::active_cell_iterator level_cell = mg_dof_handler->begin_active(level); const MGDoFHandler::active_cell_iterator @@ -91,13 +89,14 @@ Multigrid::copy_to_mg (const Vector& osrc) // Compute coarse level right hand side // by restricting from fine level. - for (; level_cell!=level_end; ++level_cell, ++global_cell) + for (; level_cell!=level_end; ++level_cell) { + DoFObjectAccessor& global_cell = *level_cell; // get the dof numbers of // this cell for the global // and the level-wise // numbering - global_cell->get_dof_indices(global_dof_indices); + global_cell.get_dof_indices(global_dof_indices); level_cell->get_mg_dof_indices (level_dof_indices); // transfer the global @@ -146,8 +145,6 @@ Multigrid::copy_from_mg(Vector &dst) const vector global_dof_indices (dofs_per_cell); vector level_dof_indices (dofs_per_cell); - DoFHandler::active_cell_iterator - global_cell = mg_dof_handler->DoFHandler::begin_active(); MGDoFHandler::active_cell_iterator level_cell = mg_dof_handler->begin_active(); const MGDoFHandler::active_cell_iterator @@ -159,15 +156,16 @@ Multigrid::copy_from_mg(Vector &dst) const // Is the level monotonuosly increasing? - for (; level_cell != endc; ++level_cell, ++global_cell) + for (; level_cell != endc; ++level_cell) { + DoFObjectAccessor& global_cell = *level_cell; const unsigned int level = level_cell->level(); // get the dof numbers of // this cell for the global // and the level-wise // numbering - global_cell->get_dof_indices (global_dof_indices); + global_cell.get_dof_indices (global_dof_indices); level_cell->get_mg_dof_indices(level_dof_indices); // copy level-wise data to @@ -188,6 +186,9 @@ Multigrid::print_vector (const unsigned int level, const Vector& v, const char* name) const { + if (level!=maxlevel) + return; + const DoFHandler* dof = mg_dof_handler; Vector out_vector(dof->n_dofs());