Skip to content

Commit

Permalink
Merge pull request #12791 from tjhei/bug-eulerian-gmg
Browse files Browse the repository at this point in the history
MappingQEulerian GMG bug
  • Loading branch information
kronbichler committed Oct 7, 2021
2 parents 18a0657 + 7776385 commit 37d6046
Show file tree
Hide file tree
Showing 5 changed files with 495 additions and 0 deletions.
15 changes: 15 additions & 0 deletions tests/mappings/mapping_q_eulerian_08.cc
Original file line number Diff line number Diff line change
Expand Up @@ -207,6 +207,21 @@ test(const unsigned int n_ref = 0)
const unsigned int min_level = 0;
MGLevelObject<LinearAlgebra::distributed::Vector<LevelNumberType>>
displacement_level(min_level, max_level);

// Important! This preallocation of the displacement vectors with
// all relevant ghost indices is required to certain meshes.
for (unsigned int level = min_level; level <= max_level; ++level)
{
IndexSet relevant_mg_dofs;
DoFTools::extract_locally_relevant_level_dofs(dof_handler_euler,
level,
relevant_mg_dofs);
displacement_level[level].reinit(dof_handler_euler.locally_owned_mg_dofs(
level),
relevant_mg_dofs,
mpi_communicator);
}

mg_transfer_euler.interpolate_to_mg(dof_handler_euler,
displacement_level,
displacement);
Expand Down

0 comments on commit 37d6046

Please sign in to comment.