From: Marc Fehling Date: Thu, 22 Apr 2021 04:16:08 +0000 (-0600) Subject: Bugfix: `hp::Refinement::predict_error` - cast to int X-Git-Tag: v9.3.0-rc1~192^2 X-Git-Url: https://gitweb.dealii.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=refs%2Fpull%2F12074%2Fhead;p=dealii.git Bugfix: `hp::Refinement::predict_error` - cast to int --- diff --git a/doc/news/changes/minor/20210421Fehling b/doc/news/changes/minor/20210421Fehling new file mode 100644 index 0000000000..6f398de483 --- /dev/null +++ b/doc/news/changes/minor/20210421Fehling @@ -0,0 +1,4 @@ +Fixed: The function hp::Refinement::predict_error() produced incorrect +results for p-coarsening. +
+(Marc Fehling, 2021/04/21) diff --git a/source/hp/refinement.cc b/source/hp/refinement.cc index ef2d65fbd3..dc05c83884 100644 --- a/source/hp/refinement.cc +++ b/source/hp/refinement.cc @@ -634,7 +634,8 @@ namespace hp if (cell->future_fe_index_set()) { predicted_errors[cell->active_cell_index()] *= - std::pow(gamma_p, future_fe_degree - cell->get_fe().degree); + std::pow(gamma_p, + int(future_fe_degree) - int(cell->get_fe().degree)); } // step 2: algebraic decay with h-adaptation diff --git a/tests/hp/error_prediction_01.cc b/tests/hp/error_prediction_01.cc index 6a362f6c25..c52b63a432 100644 --- a/tests/hp/error_prediction_01.cc +++ b/tests/hp/error_prediction_01.cc @@ -1,6 +1,6 @@ // --------------------------------------------------------------------- // -// Copyright (C) 2019 - 2020 by the deal.II authors +// Copyright (C) 2019 - 2021 by the deal.II authors // // This file is part of the deal.II library. // @@ -17,6 +17,7 @@ // validate combination of error prediction and cell data transfer algorithms // for hp-adaptive methods +// test either h- or p-adaptation #include @@ -25,12 +26,10 @@ #include -#include #include #include -#include #include #include "../tests.h" @@ -54,6 +53,11 @@ test() fes.push_back(FE_Q(d)); DoFHandler dh(tria); + for (const auto &cell : dh.active_cell_iterators()) + { + // set active FE index + cell->set_active_fe_index(1); + } for (auto cell = dh.begin(0); cell != dh.end(0); ++cell) { if (cell->id().to_string() == "0_0:") @@ -72,16 +76,20 @@ test() // p-refinement cell->set_future_fe_index(2); } + else if (cell->id().to_string() == "3_0:") + { + // p-coarsening + cell->set_future_fe_index(0); + } } dh.distribute_dofs(fes); // ----- predict ----- - Vector error_indicators, predicted_error_indicators; - error_indicators.reinit(tria.n_active_cells()); - predicted_error_indicators.reinit(tria.n_active_cells()); + Vector error_indicators(tria.n_active_cells()); for (unsigned int i = 0; i < tria.n_active_cells(); ++i) error_indicators[i] = 10.; + Vector predicted_error_indicators(tria.n_active_cells()); hp::Refinement::predict_error(dh, error_indicators, predicted_error_indicators, @@ -104,9 +112,9 @@ test() deallog << " refining"; else if (cell->coarsen_flag_set()) deallog << " coarsening"; - else if (cell->future_fe_index_set()) - deallog << " future_fe_deg:" - << dh.get_fe_collection()[cell->future_fe_index()].degree; + + if (cell->future_fe_index_set()) + deallog << " future_fe_deg:" << fes[cell->future_fe_index()].degree; deallog << std::endl; } diff --git a/tests/hp/error_prediction_01.output b/tests/hp/error_prediction_01.output index 540f22e27e..9ad0fa00f8 100644 --- a/tests/hp/error_prediction_01.output +++ b/tests/hp/error_prediction_01.output @@ -1,71 +1,71 @@ DEAL:1d::pre_adaptation DEAL:1d:: ncells:5 -DEAL:1d:: cell:1_0: fe_deg:1 error:10.0000 predicted:5.00000 refining -DEAL:1d:: cell:2_0: fe_deg:1 error:10.0000 predicted:2.50000 future_fe_deg:3 -DEAL:1d:: cell:3_0: fe_deg:1 error:10.0000 predicted:10.0000 -DEAL:1d:: cell:0_1:0 fe_deg:1 error:10.0000 predicted:20.0000 coarsening -DEAL:1d:: cell:0_1:1 fe_deg:1 error:10.0000 predicted:20.0000 coarsening +DEAL:1d:: cell:1_0: fe_deg:2 error:10.0000 predicted:2.50000 refining +DEAL:1d:: cell:2_0: fe_deg:2 error:10.0000 predicted:5.00000 future_fe_deg:3 +DEAL:1d:: cell:3_0: fe_deg:2 error:10.0000 predicted:20.0000 future_fe_deg:1 +DEAL:1d:: cell:0_1:0 fe_deg:2 error:10.0000 predicted:40.0000 coarsening +DEAL:1d:: cell:0_1:1 fe_deg:2 error:10.0000 predicted:40.0000 coarsening DEAL:1d::post_adaptation DEAL:1d:: ncells:5 -DEAL:1d:: cell:0_0: fe_deg:1 transferred:28.2843 -DEAL:1d:: cell:2_0: fe_deg:3 transferred:2.50000 -DEAL:1d:: cell:3_0: fe_deg:1 transferred:10.0000 -DEAL:1d:: cell:1_1:0 fe_deg:1 transferred:3.53553 -DEAL:1d:: cell:1_1:1 fe_deg:1 transferred:3.53553 +DEAL:1d:: cell:0_0: fe_deg:2 transferred:56.5685 +DEAL:1d:: cell:2_0: fe_deg:3 transferred:5.00000 +DEAL:1d:: cell:3_0: fe_deg:1 transferred:20.0000 +DEAL:1d:: cell:1_1:0 fe_deg:2 transferred:1.76777 +DEAL:1d:: cell:1_1:1 fe_deg:2 transferred:1.76777 DEAL:1d::predicted_error_norms -DEAL:1d:: pre_adaptation:30.5164 -DEAL:1d:: post_adaptation:30.5164 +DEAL:1d:: pre_adaptation:60.2599 +DEAL:1d:: post_adaptation:60.2599 DEAL:1d::OK DEAL:2d::pre_adaptation DEAL:2d:: ncells:7 -DEAL:2d:: cell:1_0: fe_deg:1 error:10.0000 predicted:5.00000 refining -DEAL:2d:: cell:2_0: fe_deg:1 error:10.0000 predicted:2.50000 future_fe_deg:3 -DEAL:2d:: cell:3_0: fe_deg:1 error:10.0000 predicted:10.0000 -DEAL:2d:: cell:0_1:0 fe_deg:1 error:10.0000 predicted:20.0000 coarsening -DEAL:2d:: cell:0_1:1 fe_deg:1 error:10.0000 predicted:20.0000 coarsening -DEAL:2d:: cell:0_1:2 fe_deg:1 error:10.0000 predicted:20.0000 coarsening -DEAL:2d:: cell:0_1:3 fe_deg:1 error:10.0000 predicted:20.0000 coarsening +DEAL:2d:: cell:1_0: fe_deg:2 error:10.0000 predicted:2.50000 refining +DEAL:2d:: cell:2_0: fe_deg:2 error:10.0000 predicted:5.00000 future_fe_deg:3 +DEAL:2d:: cell:3_0: fe_deg:2 error:10.0000 predicted:20.0000 future_fe_deg:1 +DEAL:2d:: cell:0_1:0 fe_deg:2 error:10.0000 predicted:40.0000 coarsening +DEAL:2d:: cell:0_1:1 fe_deg:2 error:10.0000 predicted:40.0000 coarsening +DEAL:2d:: cell:0_1:2 fe_deg:2 error:10.0000 predicted:40.0000 coarsening +DEAL:2d:: cell:0_1:3 fe_deg:2 error:10.0000 predicted:40.0000 coarsening DEAL:2d::post_adaptation DEAL:2d:: ncells:7 -DEAL:2d:: cell:0_0: fe_deg:1 transferred:40.0000 -DEAL:2d:: cell:2_0: fe_deg:3 transferred:2.50000 -DEAL:2d:: cell:3_0: fe_deg:1 transferred:10.0000 -DEAL:2d:: cell:1_1:0 fe_deg:1 transferred:2.50000 -DEAL:2d:: cell:1_1:1 fe_deg:1 transferred:2.50000 -DEAL:2d:: cell:1_1:2 fe_deg:1 transferred:2.50000 -DEAL:2d:: cell:1_1:3 fe_deg:1 transferred:2.50000 +DEAL:2d:: cell:0_0: fe_deg:2 transferred:80.0000 +DEAL:2d:: cell:2_0: fe_deg:3 transferred:5.00000 +DEAL:2d:: cell:3_0: fe_deg:1 transferred:20.0000 +DEAL:2d:: cell:1_1:0 fe_deg:2 transferred:1.25000 +DEAL:2d:: cell:1_1:1 fe_deg:2 transferred:1.25000 +DEAL:2d:: cell:1_1:2 fe_deg:2 transferred:1.25000 +DEAL:2d:: cell:1_1:3 fe_deg:2 transferred:1.25000 DEAL:2d::predicted_error_norms -DEAL:2d:: pre_adaptation:41.6083 -DEAL:2d:: post_adaptation:41.6083 +DEAL:2d:: pre_adaptation:82.6514 +DEAL:2d:: post_adaptation:82.6514 DEAL:2d::OK DEAL:3d::pre_adaptation DEAL:3d:: ncells:11 -DEAL:3d:: cell:1_0: fe_deg:1 error:10.0000 predicted:5.00000 refining -DEAL:3d:: cell:2_0: fe_deg:1 error:10.0000 predicted:2.50000 future_fe_deg:3 -DEAL:3d:: cell:3_0: fe_deg:1 error:10.0000 predicted:10.0000 -DEAL:3d:: cell:0_1:0 fe_deg:1 error:10.0000 predicted:20.0000 coarsening -DEAL:3d:: cell:0_1:1 fe_deg:1 error:10.0000 predicted:20.0000 coarsening -DEAL:3d:: cell:0_1:2 fe_deg:1 error:10.0000 predicted:20.0000 coarsening -DEAL:3d:: cell:0_1:3 fe_deg:1 error:10.0000 predicted:20.0000 coarsening -DEAL:3d:: cell:0_1:4 fe_deg:1 error:10.0000 predicted:20.0000 coarsening -DEAL:3d:: cell:0_1:5 fe_deg:1 error:10.0000 predicted:20.0000 coarsening -DEAL:3d:: cell:0_1:6 fe_deg:1 error:10.0000 predicted:20.0000 coarsening -DEAL:3d:: cell:0_1:7 fe_deg:1 error:10.0000 predicted:20.0000 coarsening +DEAL:3d:: cell:1_0: fe_deg:2 error:10.0000 predicted:2.50000 refining +DEAL:3d:: cell:2_0: fe_deg:2 error:10.0000 predicted:5.00000 future_fe_deg:3 +DEAL:3d:: cell:3_0: fe_deg:2 error:10.0000 predicted:20.0000 future_fe_deg:1 +DEAL:3d:: cell:0_1:0 fe_deg:2 error:10.0000 predicted:40.0000 coarsening +DEAL:3d:: cell:0_1:1 fe_deg:2 error:10.0000 predicted:40.0000 coarsening +DEAL:3d:: cell:0_1:2 fe_deg:2 error:10.0000 predicted:40.0000 coarsening +DEAL:3d:: cell:0_1:3 fe_deg:2 error:10.0000 predicted:40.0000 coarsening +DEAL:3d:: cell:0_1:4 fe_deg:2 error:10.0000 predicted:40.0000 coarsening +DEAL:3d:: cell:0_1:5 fe_deg:2 error:10.0000 predicted:40.0000 coarsening +DEAL:3d:: cell:0_1:6 fe_deg:2 error:10.0000 predicted:40.0000 coarsening +DEAL:3d:: cell:0_1:7 fe_deg:2 error:10.0000 predicted:40.0000 coarsening DEAL:3d::post_adaptation DEAL:3d:: ncells:11 -DEAL:3d:: cell:0_0: fe_deg:1 transferred:56.5685 -DEAL:3d:: cell:2_0: fe_deg:3 transferred:2.50000 -DEAL:3d:: cell:3_0: fe_deg:1 transferred:10.0000 -DEAL:3d:: cell:1_1:0 fe_deg:1 transferred:1.76777 -DEAL:3d:: cell:1_1:1 fe_deg:1 transferred:1.76777 -DEAL:3d:: cell:1_1:2 fe_deg:1 transferred:1.76777 -DEAL:3d:: cell:1_1:3 fe_deg:1 transferred:1.76777 -DEAL:3d:: cell:1_1:4 fe_deg:1 transferred:1.76777 -DEAL:3d:: cell:1_1:5 fe_deg:1 transferred:1.76777 -DEAL:3d:: cell:1_1:6 fe_deg:1 transferred:1.76777 -DEAL:3d:: cell:1_1:7 fe_deg:1 transferred:1.76777 +DEAL:3d:: cell:0_0: fe_deg:2 transferred:113.137 +DEAL:3d:: cell:2_0: fe_deg:3 transferred:5.00000 +DEAL:3d:: cell:3_0: fe_deg:1 transferred:20.0000 +DEAL:3d:: cell:1_1:0 fe_deg:2 transferred:0.883883 +DEAL:3d:: cell:1_1:1 fe_deg:2 transferred:0.883883 +DEAL:3d:: cell:1_1:2 fe_deg:2 transferred:0.883883 +DEAL:3d:: cell:1_1:3 fe_deg:2 transferred:0.883883 +DEAL:3d:: cell:1_1:4 fe_deg:2 transferred:0.883883 +DEAL:3d:: cell:1_1:5 fe_deg:2 transferred:0.883883 +DEAL:3d:: cell:1_1:6 fe_deg:2 transferred:0.883883 +DEAL:3d:: cell:1_1:7 fe_deg:2 transferred:0.883883 DEAL:3d::predicted_error_norms -DEAL:3d:: pre_adaptation:57.7170 -DEAL:3d:: post_adaptation:57.7170 +DEAL:3d:: pre_adaptation:115.027 +DEAL:3d:: post_adaptation:115.027 DEAL:3d::OK diff --git a/tests/hp/error_prediction_02.cc b/tests/hp/error_prediction_02.cc new file mode 100644 index 0000000000..eb180b07ce --- /dev/null +++ b/tests/hp/error_prediction_02.cc @@ -0,0 +1,192 @@ +// --------------------------------------------------------------------- +// +// Copyright (C) 2021 by the deal.II authors +// +// This file is part of the deal.II library. +// +// The deal.II library is free software; you can use it, redistribute +// it, and/or modify it under the terms of the GNU Lesser General +// Public License as published by the Free Software Foundation; either +// version 2.1 of the License, or (at your option) any later version. +// The full text of the license can be found in the file LICENSE.md at +// the top level directory of deal.II. +// +// --------------------------------------------------------------------- + + + +// validate combination of error prediction and cell data transfer algorithms +// for hp-adaptive methods +// test all combinations of h- and p-adaptation + + +#include + +#include + +#include + +#include + +#include + +#include + +#include "../tests.h" + +#include "../test_grids.h" + + +template +void +test() +{ + // ------ setup ------ + Triangulation tria; + TestGrids::hyper_line(tria, 4); + + tria.begin_active()->set_refine_flag(); + (++tria.begin_active())->set_refine_flag(); + tria.execute_coarsening_and_refinement(); + + hp::FECollection fes; + for (unsigned int d = 1; d <= 3; ++d) + fes.push_back(FE_Q(d)); + + DoFHandler dh(tria); + for (const auto &cell : dh.active_cell_iterators()) + { + // set active FE index + if (cell->is_locally_owned()) + cell->set_active_fe_index(1); + } + for (auto cell = dh.begin(0); cell != dh.end(0); ++cell) + { + // set refinement/coarsening flags + if (cell->id().to_string() == "0_0:") + { + // h-coarsening and p-refinement + for (unsigned int i = 0; i < cell->n_children(); ++i) + if (cell->child(i)->is_locally_owned()) + { + cell->child(i)->set_coarsen_flag(); + cell->child(i)->set_future_fe_index(2); + } + } + else if (cell->id().to_string() == "1_0:") + { + // h-coarsening and p-coarsening + for (unsigned int i = 0; i < cell->n_children(); ++i) + if (cell->child(i)->is_locally_owned()) + { + cell->child(i)->set_coarsen_flag(); + cell->child(i)->set_future_fe_index(0); + } + } + else if (cell->id().to_string() == "2_0:") + { + // h-refinement and p-refinement + if (cell->is_locally_owned()) + { + cell->set_refine_flag(); + cell->set_future_fe_index(2); + } + } + else if (cell->id().to_string() == "3_0:") + { + // h-refinement and p-coarsening + if (cell->is_locally_owned()) + { + cell->set_refine_flag(); + cell->set_future_fe_index(0); + } + } + } + dh.distribute_dofs(fes); + + // ----- predict ----- + Vector error_indicators(tria.n_active_cells()); + for (unsigned int i = 0; i < tria.n_active_cells(); ++i) + error_indicators[i] = 10.; + + Vector predicted_error_indicators(tria.n_active_cells()); + hp::Refinement::predict_error(dh, + error_indicators, + predicted_error_indicators, + /*gamma_p=*/0.5, + /*gamma_h=*/1., + /*gamma_n=*/1.); + + // ----- verify ------ + deallog << "pre_adaptation" << std::endl + << " ncells:" << tria.n_active_cells() << std::endl; + for (const auto &cell : dh.active_cell_iterators()) + { + deallog << " cell:" << cell->id().to_string() + << " fe_deg:" << cell->get_fe().degree + << " error:" << error_indicators[cell->active_cell_index()] + << " predicted:" + << predicted_error_indicators[cell->active_cell_index()]; + + if (cell->refine_flag_set()) + deallog << " refining"; + else if (cell->coarsen_flag_set()) + deallog << " coarsening"; + + if (cell->future_fe_index_set()) + deallog << " future_fe_deg:" << fes[cell->future_fe_index()].degree; + + deallog << std::endl; + } + + // ----- execute adaptation ----- + CellDataTransfer> cell_data_transfer( + tria, + &AdaptationStrategies::Refinement::l2_norm, + &AdaptationStrategies::Coarsening::l2_norm); + cell_data_transfer.prepare_for_coarsening_and_refinement(); + + tria.execute_coarsening_and_refinement(); + + Vector transferred_indicators(tria.n_active_cells()); + cell_data_transfer.unpack(predicted_error_indicators, transferred_indicators); + + // ----- verify ----- + deallog << "post_adaptation" << std::endl + << " ncells:" << tria.n_active_cells() << std::endl; + for (const auto &cell : dh.active_cell_iterators()) + deallog << " cell:" << cell->id().to_string() + << " fe_deg:" << cell->get_fe().degree << " transferred:" + << transferred_indicators[cell->active_cell_index()] << std::endl; + + // ----- verify norms ----- + const double predicted_error_pre = predicted_error_indicators.l2_norm(), + predicted_error_post = transferred_indicators.l2_norm(); + + deallog << "predicted_error_norms" << std::endl + << " pre_adaptation:" << predicted_error_pre << std::endl + << " post_adaptation:" << predicted_error_post << std::endl; + + Assert(predicted_error_pre == predicted_error_post, + ExcMessage("Transfer failed - Results not similar.")); + + deallog << "OK" << std::endl; +} + + + +int +main(int argc, char *argv[]) +{ + initlog(); + + deallog.push("1d"); + test<1>(); + deallog.pop(); + deallog.push("2d"); + test<2>(); + deallog.pop(); + deallog.push("3d"); + test<3>(); + deallog.pop(); +} diff --git a/tests/hp/error_prediction_02.output b/tests/hp/error_prediction_02.output new file mode 100644 index 0000000000..965f98f59d --- /dev/null +++ b/tests/hp/error_prediction_02.output @@ -0,0 +1,93 @@ + +DEAL:1d::pre_adaptation +DEAL:1d:: ncells:6 +DEAL:1d:: cell:2_0: fe_deg:2 error:10.0000 predicted:0.625000 refining future_fe_deg:3 +DEAL:1d:: cell:3_0: fe_deg:2 error:10.0000 predicted:10.0000 refining future_fe_deg:1 +DEAL:1d:: cell:0_1:0 fe_deg:2 error:10.0000 predicted:40.0000 coarsening future_fe_deg:3 +DEAL:1d:: cell:0_1:1 fe_deg:2 error:10.0000 predicted:40.0000 coarsening future_fe_deg:3 +DEAL:1d:: cell:1_1:0 fe_deg:2 error:10.0000 predicted:40.0000 coarsening future_fe_deg:1 +DEAL:1d:: cell:1_1:1 fe_deg:2 error:10.0000 predicted:40.0000 coarsening future_fe_deg:1 +DEAL:1d::post_adaptation +DEAL:1d:: ncells:6 +DEAL:1d:: cell:0_0: fe_deg:3 transferred:56.5685 +DEAL:1d:: cell:1_0: fe_deg:1 transferred:56.5685 +DEAL:1d:: cell:2_1:0 fe_deg:3 transferred:0.441942 +DEAL:1d:: cell:2_1:1 fe_deg:3 transferred:0.441942 +DEAL:1d:: cell:3_1:0 fe_deg:1 transferred:7.07107 +DEAL:1d:: cell:3_1:1 fe_deg:1 transferred:7.07107 +DEAL:1d::predicted_error_norms +DEAL:1d:: pre_adaptation:80.6250 +DEAL:1d:: post_adaptation:80.6250 +DEAL:1d::OK +DEAL:2d::pre_adaptation +DEAL:2d:: ncells:10 +DEAL:2d:: cell:2_0: fe_deg:2 error:10.0000 predicted:0.625000 refining future_fe_deg:3 +DEAL:2d:: cell:3_0: fe_deg:2 error:10.0000 predicted:10.0000 refining future_fe_deg:1 +DEAL:2d:: cell:0_1:0 fe_deg:2 error:10.0000 predicted:40.0000 coarsening future_fe_deg:3 +DEAL:2d:: cell:0_1:1 fe_deg:2 error:10.0000 predicted:40.0000 coarsening future_fe_deg:3 +DEAL:2d:: cell:0_1:2 fe_deg:2 error:10.0000 predicted:40.0000 coarsening future_fe_deg:3 +DEAL:2d:: cell:0_1:3 fe_deg:2 error:10.0000 predicted:40.0000 coarsening future_fe_deg:3 +DEAL:2d:: cell:1_1:0 fe_deg:2 error:10.0000 predicted:40.0000 coarsening future_fe_deg:1 +DEAL:2d:: cell:1_1:1 fe_deg:2 error:10.0000 predicted:40.0000 coarsening future_fe_deg:1 +DEAL:2d:: cell:1_1:2 fe_deg:2 error:10.0000 predicted:40.0000 coarsening future_fe_deg:1 +DEAL:2d:: cell:1_1:3 fe_deg:2 error:10.0000 predicted:40.0000 coarsening future_fe_deg:1 +DEAL:2d::post_adaptation +DEAL:2d:: ncells:10 +DEAL:2d:: cell:0_0: fe_deg:3 transferred:80.0000 +DEAL:2d:: cell:1_0: fe_deg:1 transferred:80.0000 +DEAL:2d:: cell:2_1:0 fe_deg:3 transferred:0.312500 +DEAL:2d:: cell:2_1:1 fe_deg:3 transferred:0.312500 +DEAL:2d:: cell:2_1:2 fe_deg:3 transferred:0.312500 +DEAL:2d:: cell:2_1:3 fe_deg:3 transferred:0.312500 +DEAL:2d:: cell:3_1:0 fe_deg:1 transferred:5.00000 +DEAL:2d:: cell:3_1:1 fe_deg:1 transferred:5.00000 +DEAL:2d:: cell:3_1:2 fe_deg:1 transferred:5.00000 +DEAL:2d:: cell:3_1:3 fe_deg:1 transferred:5.00000 +DEAL:2d::predicted_error_norms +DEAL:2d:: pre_adaptation:113.580 +DEAL:2d:: post_adaptation:113.580 +DEAL:2d::OK +DEAL:3d::pre_adaptation +DEAL:3d:: ncells:18 +DEAL:3d:: cell:2_0: fe_deg:2 error:10.0000 predicted:0.625000 refining future_fe_deg:3 +DEAL:3d:: cell:3_0: fe_deg:2 error:10.0000 predicted:10.0000 refining future_fe_deg:1 +DEAL:3d:: cell:0_1:0 fe_deg:2 error:10.0000 predicted:40.0000 coarsening future_fe_deg:3 +DEAL:3d:: cell:0_1:1 fe_deg:2 error:10.0000 predicted:40.0000 coarsening future_fe_deg:3 +DEAL:3d:: cell:0_1:2 fe_deg:2 error:10.0000 predicted:40.0000 coarsening future_fe_deg:3 +DEAL:3d:: cell:0_1:3 fe_deg:2 error:10.0000 predicted:40.0000 coarsening future_fe_deg:3 +DEAL:3d:: cell:0_1:4 fe_deg:2 error:10.0000 predicted:40.0000 coarsening future_fe_deg:3 +DEAL:3d:: cell:0_1:5 fe_deg:2 error:10.0000 predicted:40.0000 coarsening future_fe_deg:3 +DEAL:3d:: cell:0_1:6 fe_deg:2 error:10.0000 predicted:40.0000 coarsening future_fe_deg:3 +DEAL:3d:: cell:0_1:7 fe_deg:2 error:10.0000 predicted:40.0000 coarsening future_fe_deg:3 +DEAL:3d:: cell:1_1:0 fe_deg:2 error:10.0000 predicted:40.0000 coarsening future_fe_deg:1 +DEAL:3d:: cell:1_1:1 fe_deg:2 error:10.0000 predicted:40.0000 coarsening future_fe_deg:1 +DEAL:3d:: cell:1_1:2 fe_deg:2 error:10.0000 predicted:40.0000 coarsening future_fe_deg:1 +DEAL:3d:: cell:1_1:3 fe_deg:2 error:10.0000 predicted:40.0000 coarsening future_fe_deg:1 +DEAL:3d:: cell:1_1:4 fe_deg:2 error:10.0000 predicted:40.0000 coarsening future_fe_deg:1 +DEAL:3d:: cell:1_1:5 fe_deg:2 error:10.0000 predicted:40.0000 coarsening future_fe_deg:1 +DEAL:3d:: cell:1_1:6 fe_deg:2 error:10.0000 predicted:40.0000 coarsening future_fe_deg:1 +DEAL:3d:: cell:1_1:7 fe_deg:2 error:10.0000 predicted:40.0000 coarsening future_fe_deg:1 +DEAL:3d::post_adaptation +DEAL:3d:: ncells:18 +DEAL:3d:: cell:0_0: fe_deg:3 transferred:113.137 +DEAL:3d:: cell:1_0: fe_deg:1 transferred:113.137 +DEAL:3d:: cell:2_1:0 fe_deg:3 transferred:0.220971 +DEAL:3d:: cell:2_1:1 fe_deg:3 transferred:0.220971 +DEAL:3d:: cell:2_1:2 fe_deg:3 transferred:0.220971 +DEAL:3d:: cell:2_1:3 fe_deg:3 transferred:0.220971 +DEAL:3d:: cell:2_1:4 fe_deg:3 transferred:0.220971 +DEAL:3d:: cell:2_1:5 fe_deg:3 transferred:0.220971 +DEAL:3d:: cell:2_1:6 fe_deg:3 transferred:0.220971 +DEAL:3d:: cell:2_1:7 fe_deg:3 transferred:0.220971 +DEAL:3d:: cell:3_1:0 fe_deg:1 transferred:3.53553 +DEAL:3d:: cell:3_1:1 fe_deg:1 transferred:3.53553 +DEAL:3d:: cell:3_1:2 fe_deg:1 transferred:3.53553 +DEAL:3d:: cell:3_1:3 fe_deg:1 transferred:3.53553 +DEAL:3d:: cell:3_1:4 fe_deg:1 transferred:3.53553 +DEAL:3d:: cell:3_1:5 fe_deg:1 transferred:3.53553 +DEAL:3d:: cell:3_1:6 fe_deg:1 transferred:3.53553 +DEAL:3d:: cell:3_1:7 fe_deg:1 transferred:3.53553 +DEAL:3d::predicted_error_norms +DEAL:3d:: pre_adaptation:160.313 +DEAL:3d:: post_adaptation:160.313 +DEAL:3d::OK