endc = dof.end();
for (; cell!=endc; ++cell)
{
+ if (cell->level_subdomain_id()!=dof.get_tria().locally_owned_subdomain())
+ continue;
const FiniteElement<dim> &fe = cell->get_fe();
const unsigned int level = cell->level();
local_dofs.resize(fe.dofs_per_face);
for (; cell!=endc; ++cell)
{
+ if (cell->level_subdomain_id()!=mg_dof_handler.get_tria().locally_owned_subdomain())
+ continue;
+
std::fill (cell_dofs.begin(), cell_dofs.end(), false);
for (unsigned int face_nr=0; face_nr<GeometryInfo<dim>::faces_per_cell; ++face_nr)
for (; cell!=endc; ++cell)
{
+ if (cell->level_subdomain_id()!=mg_dof_handler.get_tria().locally_owned_subdomain())
+ continue;
+
std::fill (cell_dofs.begin(), cell_dofs.end(), false);
std::fill (cell_dofs_interface.begin(), cell_dofs_interface.end(), false);
for (; cell!=endc; ++cell)
{
+ if (cell->level_subdomain_id()!=mg_dof_handler.get_tria().locally_owned_subdomain())
+ continue;
+
bool has_coarser_neighbor = false;
std::fill (cell_dofs.begin(), cell_dofs.end(), false);
std::vector<unsigned int> entries (dofs_per_cell);
for (typename DoFHandler<dim,spacedim>::cell_iterator cell=mg_dof.begin(level);
cell != mg_dof.end(level); ++cell)
- if (cell->has_children())
+ if (cell->has_children() && cell->level_subdomain_id()==mg_dof.get_tria().locally_owned_subdomain())
{
cell->get_mg_dof_indices (dof_indices_parent);
// now actually build the matrices
for (typename DoFHandler<dim,spacedim>::cell_iterator cell=mg_dof.begin(level);
cell != mg_dof.end(level); ++cell)
- if (cell->has_children())
+ if (cell->has_children() && cell->level_subdomain_id()==mg_dof.get_tria().locally_owned_subdomain())
{
cell->get_mg_dof_indices (dof_indices_parent);
// by restricting from fine level.
for (; level_cell!=level_end; ++level_cell)
{
+ if (level_cell->level_subdomain_id()!=mg_dof.get_tria().locally_owned_subdomain())
+ continue;
+
// get the dof numbers of
// this cell for the global
// and the level-wise