const auto cell_iterator = get_cell_iterator(cell, v, di_index);
// determine global cell index
- const unsigned int local_dof_index =
- di.dof_indices_contiguous[2][index];
+ const unsigned int local_cell_index =
+ di.dof_indices_contiguous[2][index] /
+ this->get_dofs_per_cell(di_index);
const types::global_cell_index global_cell_index =
(additional_data.mg_level == numbers::invalid_unsigned_int) ?
if (cell < n_cell_batches())
{
// locally-owned cell
- cells_locally_owned.emplace_back(index, global_cell_index);
+ cells_locally_owned.emplace_back(local_cell_index,
+ global_cell_index);
}
else
{
}
// write back result
- cells[cell * n_lanes + v] = {
- sm_rank, local_dof_index / this->get_dofs_per_cell(di_index)};
+ cells[cell * n_lanes + v] = {sm_rank, local_cell_index};
}
std::sort(cells_locally_owned.begin(),