solution.reinit(dof_handler.n_dofs());
system_rhs.reinit(dof_handler.n_dofs());
- std::vector<bool> boundary_dofs(dof_handler.n_dofs(), false);
- DoFTools::extract_boundary_dofs(dof_handler,
- std::vector<bool>(1, true),
- boundary_dofs);
+ IndexSet boundary_dofs =
+ DoFTools::extract_boundary_dofs(dof_handler, std::vector<bool>(1, true));
- const unsigned int first_boundary_dof =
- std::distance(boundary_dofs.begin(),
- std::find(boundary_dofs.begin(), boundary_dofs.end(), true));
+ const types::global_dof_index first_boundary_dof = *boundary_dofs.begin();
mean_value_constraints.clear();
mean_value_constraints.add_line(first_boundary_dof);
for (unsigned int i = first_boundary_dof + 1; i < dof_handler.n_dofs(); ++i)
- if (boundary_dofs[i] == true)
+ if (boundary_dofs.is_element(i))
mean_value_constraints.add_entry(first_boundary_dof, i, -1);
mean_value_constraints.close();