]> https://gitweb.dealii.org/ - dealii.git/commit
Fix renumbering in parallel for hp.
authorWolfgang Bangerth <bangerth@colostate.edu>
Thu, 13 Sep 2018 20:38:16 +0000 (14:38 -0600)
committerWolfgang Bangerth <bangerth@colostate.edu>
Thu, 13 Sep 2018 20:45:04 +0000 (14:45 -0600)
commit405e96dc3435ec12dfc3d03bafda47522972ed74
treeadef70e8291680114e50bbbeeee1f4025c0c21e3
parentff056e9829ff34c535c891e1c707907b69462d02
Fix renumbering in parallel for hp.

When renumbering in parallel, the input are the new indices for
all locally owned DoFs on the current process. This means that we
need to be careful when we set new DoFs to only touch those DoF
indices that we actually own -- not doing so yields invalid
accesses that current abort the program.

The first part of the patch is therefore to only touch DoFs for
which we really know that we have a valid new index; for all
others, we need to set the index to numbers::invalid_dof_index
for the moment.

The second part is that we need to merge/unify DoF indices for
adjacent pairs of finite elements where the DoF on one side
may be unified with one on the neighboring cell. Because the
current cell may be locally owned but the neighboring cell be
a ghost cell, the right time to do this unification is between
the two exchange phases on ghost cells. This is indeed the
same place where the unification also happens on during the
initial enumeration process in distribute_dofs().
source/dofs/dof_handler_policy.cc

In the beginning the Universe was created. This has made a lot of people very angry and has been widely regarded as a bad move.

Douglas Adams


Typeset in Trocchi and Trocchi Bold Sans Serif.