New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Bug in parallel component-wise multigrid renumbering #7174
Comments
I think @tjhei is the only one with expertise in the parallel MG implementation. He may be able to say more. That given, since you've already started going down that road, one approach is to fix one issue at a time. That may simply uncover the next issue, and you may run into unimplemented functionality eventually, but we're happy to take small patches that at least move along what's already there. Fixing |
The small testcase by @jodlbauer looks like this:
|
I am not too surprised that something might be broken in the renumbering as that is not something I have used extensively. I will take a look. |
Finally managed to get the pull request #7176 done (correctly, hopefully). This fixes the first bugs, but still runs into the assertion in dof_handler_policy. |
A testcase is now in master as part of #7176 (tests/multigrid/renumbering_07.cc) |
So does #7176 fix the current issue? @jodlbauer ? |
No, it does not. We are missing the implementation for the renumbering when the owned sets change. It should not be that difficult, but there is definitely code missing. |
The multigrid version of
DoFRenumbering::component_wise
does not work in parallel and issues an error.One cause may be that in e.g.
compute_component_wise(...)
(dof_renumbering.cc:809), the non-mg versions ofdh.locally_owned_dofs()
are used independent of the flagis_level_operation
.(Furthermore, I guess in
component_wise(...)
(dof_renumbering.cc:674), the size of the new numbers should also be related to the locally owned size, not the global one).Fixing these, one eventually runs into an assertion in
ParallelDistributed<DoFHandlerType>::renumber_mg_dofs(...)
(dof_handler_policy.cc:4888), i.e. the feature is not implemented.I do not quite understand the mechanics behind the renumbering policies etc, but what would it take to extend this to more general renumberings (as stated in the code)? Is it sufficient to change the
index_sets
, or is there (a lot) more involved?MWE:
main.txt
The text was updated successfully, but these errors were encountered: