From 7c71d329af3c2d7129ab9088f8b640465665a2fc Mon Sep 17 00:00:00 2001 From: Karl Ljungkvist Date: Mon, 30 Jan 2017 12:31:40 +0100 Subject: [PATCH] use std::vector for the prolongation matrix this remove implementation details from the setup code --- include/deal.II/multigrid/mg_transfer_internal.h | 2 +- source/multigrid/mg_transfer_matrix_free.cc | 5 ++++- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/include/deal.II/multigrid/mg_transfer_internal.h b/include/deal.II/multigrid/mg_transfer_internal.h index 0f5f6c97eb..da35f8814c 100644 --- a/include/deal.II/multigrid/mg_transfer_internal.h +++ b/include/deal.II/multigrid/mg_transfer_internal.h @@ -97,7 +97,7 @@ namespace internal * Holds the one-dimensional embedding (prolongation) matrix from mother * element to all the children. */ - AlignedVector > prolongation_matrix_1d; + std::vector prolongation_matrix_1d; }; diff --git a/source/multigrid/mg_transfer_matrix_free.cc b/source/multigrid/mg_transfer_matrix_free.cc index 7bf82ed31b..ce5ea1cbbb 100644 --- a/source/multigrid/mg_transfer_matrix_free.cc +++ b/source/multigrid/mg_transfer_matrix_free.cc @@ -115,8 +115,11 @@ void MGTransferMatrixFree::build element_is_continuous = elem_info.element_is_continuous; n_components = elem_info.n_components; n_child_cell_dofs = elem_info.n_child_cell_dofs; - prolongation_matrix_1d = elem_info.prolongation_matrix_1d; + // duplicate and put into vectorized array + prolongation_matrix_1d.resize(elem_info.prolongation_matrix_1d.size()); + for (unsigned int i=0; i::n_array_elements; -- 2.39.5