From 5abd3a157e324379a2623f9596a23731426e4955 Mon Sep 17 00:00:00 2001 From: Sebastian Proell Date: Sun, 11 Jun 2023 14:36:45 +0200 Subject: [PATCH] Fix FE_Nothing in global coarsening p-transfer --- .../mg_transfer_global_coarsening.templates.h | 18 ++++++++++++++---- 1 file changed, 14 insertions(+), 4 deletions(-) diff --git a/include/deal.II/multigrid/mg_transfer_global_coarsening.templates.h b/include/deal.II/multigrid/mg_transfer_global_coarsening.templates.h index e006b130fd..f2c77c7d51 100644 --- a/include/deal.II/multigrid/mg_transfer_global_coarsening.templates.h +++ b/include/deal.II/multigrid/mg_transfer_global_coarsening.templates.h @@ -2673,8 +2673,13 @@ MGTwoLevelTransfer>:: (scheme.prolongation_matrix.size() == 0 && scheme.prolongation_matrix_1d.size() == 0) == false; - evaluation_data_fine.resize(scheme.n_dofs_per_cell_fine); - evaluation_data_coarse.resize(scheme.n_dofs_per_cell_fine); + evaluation_data_fine.clear(); + evaluation_data_coarse.clear(); + + const unsigned int max_n_dofs_per_cell = + std::max(scheme.n_dofs_per_cell_fine, scheme.n_dofs_per_cell_coarse); + evaluation_data_fine.resize(max_n_dofs_per_cell); + evaluation_data_coarse.resize(max_n_dofs_per_cell); CellTransferFactory cell_transfer(scheme.degree_fine, scheme.degree_coarse); @@ -2844,8 +2849,13 @@ MGTwoLevelTransfer>:: (scheme.prolongation_matrix.size() == 0 && scheme.prolongation_matrix_1d.size() == 0) == false; - evaluation_data_fine.resize(scheme.n_dofs_per_cell_fine); - evaluation_data_coarse.resize(scheme.n_dofs_per_cell_fine); + evaluation_data_fine.clear(); + evaluation_data_coarse.clear(); + + const unsigned int max_n_dofs_per_cell = + std::max(scheme.n_dofs_per_cell_fine, scheme.n_dofs_per_cell_coarse); + evaluation_data_fine.resize(max_n_dofs_per_cell); + evaluation_data_coarse.resize(max_n_dofs_per_cell); CellTransferFactory cell_transfer(scheme.degree_fine, scheme.degree_coarse); -- 2.39.5