From: Spencer Patty Date: Fri, 5 Feb 2016 03:28:21 +0000 (-0600) Subject: applied ./contrib/utilities/indent to changes in grid_tools.h and grid_tools.cc X-Git-Tag: v8.4.0-rc2~19^2~7 X-Git-Url: https://gitweb.dealii.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=bb0402b6fd67102cab821fc020988ebc98186e2d;p=dealii.git applied ./contrib/utilities/indent to changes in grid_tools.h and grid_tools.cc --- diff --git a/include/deal.II/grid/grid_tools.h b/include/deal.II/grid/grid_tools.h index 79920d8459..77dfe71e48 100644 --- a/include/deal.II/grid/grid_tools.h +++ b/include/deal.II/grid/grid_tools.h @@ -1111,7 +1111,7 @@ namespace GridTools */ template std::map< types::global_dof_index,std::vector > - get_dof_to_support_patch_map(Container& dof_handler); + get_dof_to_support_patch_map(Container &dof_handler); /*@}*/ diff --git a/source/grid/grid_tools.cc b/source/grid/grid_tools.cc index d06c53e1dc..141882bcd9 100644 --- a/source/grid/grid_tools.cc +++ b/source/grid/grid_tools.cc @@ -3051,7 +3051,7 @@ next_cell: template std::map< types::global_dof_index,std::vector > - get_dof_to_support_patch_map(Container& dof_handler) + get_dof_to_support_patch_map(Container &dof_handler) { // TODO: Add Assert( fe is not dg) @@ -3076,29 +3076,29 @@ next_cell: // active parent lines, so we construct it as needed. std::map lines_to_parent_lines_map; if (Container::dimension == 3) - { - typename Container::active_cell_iterator cell = dof_handler.begin_active(), - endc = dof_handler.end(); - for (; cell!=endc; ++cell) { - // We only want lines that are locally_relevant - // although it doesn't hurt to have lines that - // are children of ghost cells since there are - // few and we don't have to use them. - if (cell->is_artificial() == false) - { - for (unsigned int l=0; l::lines_per_cell; ++l) - if (cell->line(l)->has_children()) - for (unsigned int c=0; cline(l)->n_children(); ++c) + typename Container::active_cell_iterator cell = dof_handler.begin_active(), + endc = dof_handler.end(); + for (; cell!=endc; ++cell) + { + // We only want lines that are locally_relevant + // although it doesn't hurt to have lines that + // are children of ghost cells since there are + // few and we don't have to use them. + if (cell->is_artificial() == false) { - lines_to_parent_lines_map[cell->line(l)->child(c)] = cell->line(l); - // set flags to know that child - // line has an active parent. - cell->line(l)->child(c)->set_user_flag(); + for (unsigned int l=0; l::lines_per_cell; ++l) + if (cell->line(l)->has_children()) + for (unsigned int c=0; cline(l)->n_children(); ++c) + { + lines_to_parent_lines_map[cell->line(l)->child(c)] = cell->line(l); + // set flags to know that child + // line has an active parent. + cell->line(l)->child(c)->set_user_flag(); + } } - } + } } - } // We loop through all cells and add cell to the @@ -3108,178 +3108,178 @@ next_cell: // be added on account of adaptivity hanging node // constraints. typename Container::active_cell_iterator cell = dof_handler.begin_active(), - endc = dof_handler.end(); + endc = dof_handler.end(); for (; cell!=endc; ++cell) - { - // Need to loop through all cells that could - // be in the patch of dofs on locally_owned - // cells including ghost cells - if (cell->is_artificial() == false) { - const unsigned int n_dofs_per_cell = cell->get_fe().dofs_per_cell; - local_dof_index.resize(n_dofs_per_cell); - - // Take care of adding cell pointer to each - // dofs that exists on cell. - cell->get_dof_indices(local_dof_index); - for (unsigned int i=0; i< n_dofs_per_cell; ++i ) - dof_to_set_of_cells_map[local_dof_index[i]].insert(cell); - - // In the case of the adjacent cell (over - // faces or edges) being more refined, we - // want to add all of the children to the - // patch since the support function at that - // dof could be non-zero along that entire - // face (or line). - - // Take care of dofs on neighbor faces - for (unsigned int f=0; f::faces_per_cell; ++f) - { - if (cell->face(f)->has_children()) - { - for (unsigned int c=0; cface(f)->n_children(); ++c) - { - // Add cell to dofs of all subfaces - // - // *-------------------*----------*---------* - // | | add cell | | - // | |<- to dofs| | - // | |of subface| | - // | cell *----------*---------* - // | | add cell | | - // | |<- to dofs| | - // | |of subface| | - // *-------------------*----------*---------* - // - Assert (cell->face(f)->child(c)->has_children() == false, ExcInternalError()); - - const unsigned int n_dofs_per_face = cell->get_fe().dofs_per_face; - local_face_dof_index.resize(n_dofs_per_face); - - cell->face(f)->child(c)->get_dof_indices(local_face_dof_index); - for (unsigned int i=0; i< n_dofs_per_face; ++i ) - dof_to_set_of_cells_map[local_face_dof_index[i]].insert(cell); - } - } - else if ((cell->face(f)->at_boundary() == false) && (cell->neighbor_is_coarser(f))) + // Need to loop through all cells that could + // be in the patch of dofs on locally_owned + // cells including ghost cells + if (cell->is_artificial() == false) { - - // Add cell to dofs of parent face and all - // child faces of parent face - // - // *-------------------*----------*---------* - // | | | | - // | | cell | | - // | add cell | | | - // | to dofs -> *----------*---------* - // | of parent | add cell | | - // | face |<- to dofs| | - // | |of subface| | - // *-------------------*----------*---------* - // - - // Add cell to all dofs of parent face - std::pair neighbor_face_no_subface_no = cell->neighbor_of_coarser_neighbor(f); - unsigned int face_no = neighbor_face_no_subface_no.first; - unsigned int subface = neighbor_face_no_subface_no.second; - - const unsigned int n_dofs_per_face = cell->get_fe().dofs_per_face; - local_face_dof_index.resize(n_dofs_per_face); - - cell->neighbor(f)->face(face_no)->get_dof_indices(local_face_dof_index); - for (unsigned int i=0; i< n_dofs_per_face; ++i ) - dof_to_set_of_cells_map[local_face_dof_index[i]].insert(cell); - - // Add cell to all dofs of children of - // parent face - for (unsigned int c=0; cneighbor(f)->face(face_no)->n_children(); ++c) - { - if (c != subface) // don't repeat work on dofs of original cell + const unsigned int n_dofs_per_cell = cell->get_fe().dofs_per_cell; + local_dof_index.resize(n_dofs_per_cell); + + // Take care of adding cell pointer to each + // dofs that exists on cell. + cell->get_dof_indices(local_dof_index); + for (unsigned int i=0; i< n_dofs_per_cell; ++i ) + dof_to_set_of_cells_map[local_dof_index[i]].insert(cell); + + // In the case of the adjacent cell (over + // faces or edges) being more refined, we + // want to add all of the children to the + // patch since the support function at that + // dof could be non-zero along that entire + // face (or line). + + // Take care of dofs on neighbor faces + for (unsigned int f=0; f::faces_per_cell; ++f) { - const unsigned int n_dofs_per_face = cell->get_fe().dofs_per_face; - local_face_dof_index.resize(n_dofs_per_face); + if (cell->face(f)->has_children()) + { + for (unsigned int c=0; cface(f)->n_children(); ++c) + { + // Add cell to dofs of all subfaces + // + // *-------------------*----------*---------* + // | | add cell | | + // | |<- to dofs| | + // | |of subface| | + // | cell *----------*---------* + // | | add cell | | + // | |<- to dofs| | + // | |of subface| | + // *-------------------*----------*---------* + // + Assert (cell->face(f)->child(c)->has_children() == false, ExcInternalError()); + + const unsigned int n_dofs_per_face = cell->get_fe().dofs_per_face; + local_face_dof_index.resize(n_dofs_per_face); + + cell->face(f)->child(c)->get_dof_indices(local_face_dof_index); + for (unsigned int i=0; i< n_dofs_per_face; ++i ) + dof_to_set_of_cells_map[local_face_dof_index[i]].insert(cell); + } + } + else if ((cell->face(f)->at_boundary() == false) && (cell->neighbor_is_coarser(f))) + { + + // Add cell to dofs of parent face and all + // child faces of parent face + // + // *-------------------*----------*---------* + // | | | | + // | | cell | | + // | add cell | | | + // | to dofs -> *----------*---------* + // | of parent | add cell | | + // | face |<- to dofs| | + // | |of subface| | + // *-------------------*----------*---------* + // + + // Add cell to all dofs of parent face + std::pair neighbor_face_no_subface_no = cell->neighbor_of_coarser_neighbor(f); + unsigned int face_no = neighbor_face_no_subface_no.first; + unsigned int subface = neighbor_face_no_subface_no.second; + + const unsigned int n_dofs_per_face = cell->get_fe().dofs_per_face; + local_face_dof_index.resize(n_dofs_per_face); + + cell->neighbor(f)->face(face_no)->get_dof_indices(local_face_dof_index); + for (unsigned int i=0; i< n_dofs_per_face; ++i ) + dof_to_set_of_cells_map[local_face_dof_index[i]].insert(cell); + + // Add cell to all dofs of children of + // parent face + for (unsigned int c=0; cneighbor(f)->face(face_no)->n_children(); ++c) + { + if (c != subface) // don't repeat work on dofs of original cell + { + const unsigned int n_dofs_per_face = cell->get_fe().dofs_per_face; + local_face_dof_index.resize(n_dofs_per_face); - Assert (cell->neighbor(f)->face(face_no)->child(c)->has_children() == false, ExcInternalError()); - cell->neighbor(f)->face(face_no)->child(c)->get_dof_indices(local_face_dof_index); - for (unsigned int i=0; ineighbor(f)->face(face_no)->child(c)->has_children() == false, ExcInternalError()); + cell->neighbor(f)->face(face_no)->child(c)->get_dof_indices(local_face_dof_index); + for (unsigned int i=0; i::lines_per_cell; ++l) - { - if (cell->line(l)->has_children()) - { - for (unsigned int c=0; cline(l)->n_children(); ++c) + // If 3d, take care of dofs on lines in the + // same pattern as faces above. That is, if + // a cell's line has children, distribute + // cell to dofs of children of line, and + // if cell's line has an active parent, then + // distribute cell to dofs on parent line + // and dofs on all children of parent line. + if (Container::dimension == 3) { - Assert (cell->line(l)->child(c)->has_children() == false, ExcInternalError()); + for (unsigned int l=0; l::lines_per_cell; ++l) + { + if (cell->line(l)->has_children()) + { + for (unsigned int c=0; cline(l)->n_children(); ++c) + { + Assert (cell->line(l)->child(c)->has_children() == false, ExcInternalError()); - // dofs_per_line returns number of dofs - // on line not including the vertices of the line. - const unsigned int n_dofs_per_line = 2*cell->get_fe().dofs_per_vertex - + cell->get_fe().dofs_per_line; - local_line_dof_index.resize(n_dofs_per_line); + // dofs_per_line returns number of dofs + // on line not including the vertices of the line. + const unsigned int n_dofs_per_line = 2*cell->get_fe().dofs_per_vertex + + cell->get_fe().dofs_per_line; + local_line_dof_index.resize(n_dofs_per_line); - cell->line(l)->child(c)->get_dof_indices(local_line_dof_index); - for (unsigned int i=0; iline(l)->user_flag_set() == true) - { - typename Container::line_iterator parent_line = lines_to_parent_lines_map[cell->line(l)]; - Assert (parent_line->has_children(), ExcInternalError() ); + cell->line(l)->child(c)->get_dof_indices(local_line_dof_index); + for (unsigned int i=0; iline(l)->user_flag_set() == true) + { + typename Container::line_iterator parent_line = lines_to_parent_lines_map[cell->line(l)]; + Assert (parent_line->has_children(), ExcInternalError() ); - // dofs_per_line returns number of dofs - // on line not including the vertices of the line. - const unsigned int n_dofs_per_line = 2*cell->get_fe().dofs_per_vertex - + cell->get_fe().dofs_per_line; - local_line_dof_index.resize(n_dofs_per_line); + // dofs_per_line returns number of dofs + // on line not including the vertices of the line. + const unsigned int n_dofs_per_line = 2*cell->get_fe().dofs_per_vertex + + cell->get_fe().dofs_per_line; + local_line_dof_index.resize(n_dofs_per_line); - parent_line->get_dof_indices(local_line_dof_index); - for (unsigned int i=0; iget_dof_indices(local_line_dof_index); + for (unsigned int i=0; in_children(); ++c) - { - Assert (parent_line->child(c)->has_children() == false, ExcInternalError()); + for (unsigned int c=0; cn_children(); ++c) + { + Assert (parent_line->child(c)->has_children() == false, ExcInternalError()); - const unsigned int n_dofs_per_line = 2*cell->get_fe().dofs_per_vertex - + cell->get_fe().dofs_per_line; - local_line_dof_index.resize(n_dofs_per_line); + const unsigned int n_dofs_per_line = 2*cell->get_fe().dofs_per_vertex + + cell->get_fe().dofs_per_line; + local_line_dof_index.resize(n_dofs_per_line); - parent_line->child(c)->get_dof_indices(local_line_dof_index); - for (unsigned int i=0; ichild(c)->get_dof_indices(local_line_dof_index); + for (unsigned int i=0; iline(l)->clear_user_flag(); - } - } // for lines l - }// if Container::dimension == 3 - }// if cell->is_locally_owned() - }// for cells + // clear up user flags set from earlier + // denoting that a 3d line has an active + // parent and so an entry exists in the + // lines_to_parent_lines_map map for that + // line pointing to it's parent. + cell->line(l)->clear_user_flag(); + } + } // for lines l + }// if Container::dimension == 3 + }// if cell->is_locally_owned() + }// for cells // Finally, we copy map of sets to @@ -3291,7 +3291,7 @@ next_cell: it_end = dof_to_set_of_cells_map.end(); for ( ; it!=it_end; ++it) dof_to_cell_patches[it->first].assign( it->second.begin(), it->second.end() ); - + return dof_to_cell_patches; }