From f7b00ceb393947f88fce1e927aed8bfd14cdf771 Mon Sep 17 00:00:00 2001 From: Martin Kronbichler Date: Sat, 5 Dec 2015 10:41:14 +0100 Subject: [PATCH] Fix quadratic complexity inside p::d::Tria::fill_vertices_with_ghost_neighbors --- doc/news/changes.h | 10 ++++++++++ source/distributed/tria.cc | 4 ++-- 2 files changed, 12 insertions(+), 2 deletions(-) diff --git a/doc/news/changes.h b/doc/news/changes.h index e8afbbf7ea..506d671b47 100644 --- a/doc/news/changes.h +++ b/doc/news/changes.h @@ -451,6 +451,16 @@ inconvenience this causes.
    +
  1. Improved: The method + parallel::distributed::Triangulation::fill_vertices_with_ghost_neighbors + that is used for distributing DoFs on parallel triangulations previously + exhibited quadratic complexity in the number of coarse grid cells. This has + been changed into linear complexity calls (apart from a few issues + inside p4est). +
    + (Martin Kronbichler, 2015/12/05) +
  2. +
  3. Fixed: The constructor of SymmetricTensor that takes an array of initializing elements led to a compiler error. This is now fixed. diff --git a/source/distributed/tria.cc b/source/distributed/tria.cc index c05b7dd64c..160f40ea62 100644 --- a/source/distributed/tria.cc +++ b/source/distributed/tria.cc @@ -4810,8 +4810,8 @@ namespace parallel { int i, l = quad.level; int child_id; - const std::vector perm = triangulation->get_p4est_tree_to_coarse_cell_permutation (); - types::global_dof_index dealii_index = perm[treeidx]; + types::global_dof_index dealii_index = + triangulation->get_p4est_tree_to_coarse_cell_permutation()[treeidx]; for (i = 0; i < l; i++) { -- 2.39.5