From: Karl Ljungkvist Date: Mon, 30 Jan 2017 11:31:40 +0000 (+0100) Subject: use std::vector for the prolongation matrix X-Git-Tag: v8.5.0-rc1~187^2 X-Git-Url: https://gitweb.dealii.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=7c71d329af3c2d7129ab9088f8b640465665a2fc;p=dealii.git use std::vector for the prolongation matrix this remove implementation details from the setup code --- 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;