Skip to content

Global DOF IDs

Praetorius, Simon requested to merge feature/global_dof_ids into master

For parallel computations one has to identify DOFs in the global grid uniquely. This requires knowledge of the connectivity of DOFs and can not generically be extracted from the global basis without any specialization.

So, this MR adds a global IdSet for DOFs in a GlobalBasis. The GlobalBasisIdSet must be bound to an element and can then extract the globally unique id of a local DOF:

using IdSet = GlobalBasisIdSet<GlobalBasis>;
IdSet idSet(basis);
for (const auto& e : elements(basis.gridView()))
{
  idSet.bind(e);
  for (std::size_t i = 0; i < idSet.size(); ++i)
  {
    auto id = idSet.id(i);
  }
  idSet.unbind();
}

Merge request reports