From: Timo Heister Date: Sat, 1 Jun 2013 00:03:48 +0000 (+0000) Subject: update tests to produce output on each cpu X-Git-Tag: v8.0.0~344 X-Git-Url: https://gitweb.dealii.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=f9e67a66f4c01d741c29fab78a5c5e57b5fde7a1;p=dealii.git update tests to produce output on each cpu git-svn-id: https://svn.dealii.org/trunk@29708 0785d39b-7218-0410-832d-ea1e28bc413d --- diff --git a/tests/mpi/mg_01.cc b/tests/mpi/mg_01.cc index e9654a9df9..9d58219919 100644 --- a/tests/mpi/mg_01.cc +++ b/tests/mpi/mg_01.cc @@ -99,50 +99,15 @@ void test() deallog << "my levels: " << tr.n_levels() << "<= global levels:" << tr.n_global_levels() << std::endl; -// static const FE_DGP fe(0); -// dofh.distribute_dofs (fe); - -// DataOut data_out; -// data_out.attach_dof_handler (dofh); -// -// TrilinosWrappers::MPI::Vector x; -// -// x.reinit(dofh.locally_owned_dofs(), MPI_COMM_WORLD); -// x=2.0; -// -// data_out.add_data_vector (x, "x"); -// data_out.build_patches (); -// -// if (myid==0) -// { -// for (unsigned int i=0; i(); - deallog.pop(); - } - else - test<2>(); - + deallog.push("2d"); + test<2>(); + deallog.pop(); } diff --git a/tests/mpi/mg_01/ncpu_10/cmp/generic b/tests/mpi/mg_01/ncpu_10/cmp/generic index 4e2499b808..46039857e3 100644 --- a/tests/mpi/mg_01/ncpu_10/cmp/generic +++ b/tests/mpi/mg_01/ncpu_10/cmp/generic @@ -4,3 +4,56 @@ DEAL:0:2d::ID = 0 DEAL:0:2d::- DEAL:0:2d:: DEAL:0:2d::my levels: 1<= global levels:3 + +DEAL:1:2d::ID = 1 +DEAL:1:2d::1 +DEAL:1:2d::1368 +DEAL:1:2d::11113-3-66--8--- +DEAL:1:2d:: + + +DEAL:2:2d::ID = 2 +DEAL:2:2d::- +DEAL:2:2d:: + + +DEAL:3:2d::ID = 3 +DEAL:3:2d::1 +DEAL:3:2d::1368 +DEAL:3:2d::-1-13333-6--88-- +DEAL:3:2d:: + + +DEAL:4:2d::ID = 4 +DEAL:4:2d::- +DEAL:4:2d:: + + +DEAL:5:2d::ID = 5 +DEAL:5:2d::- +DEAL:5:2d:: + + +DEAL:6:2d::ID = 6 +DEAL:6:2d::1 +DEAL:6:2d::1368 +DEAL:6:2d::--11--3-66668-8- +DEAL:6:2d:: + + +DEAL:7:2d::ID = 7 +DEAL:7:2d::- +DEAL:7:2d:: + + +DEAL:8:2d::ID = 8 +DEAL:8:2d::1 +DEAL:8:2d::1368 +DEAL:8:2d::---1--33-6-68888 +DEAL:8:2d:: + + +DEAL:9:2d::ID = 9 +DEAL:9:2d::- +DEAL:9:2d:: + diff --git a/tests/mpi/mg_01/ncpu_4/cmp/generic b/tests/mpi/mg_01/ncpu_4/cmp/generic index d38a32a997..0504869876 100644 --- a/tests/mpi/mg_01/ncpu_4/cmp/generic +++ b/tests/mpi/mg_01/ncpu_4/cmp/generic @@ -6,3 +6,24 @@ DEAL:0:2d::0123 DEAL:0:2d::00001-1-22--3--- DEAL:0:2d:: DEAL:0:2d::my levels: 3<= global levels:3 + +DEAL:1:2d::ID = 1 +DEAL:1:2d::0 +DEAL:1:2d::0123 +DEAL:1:2d::-0-01111-2--33-- +DEAL:1:2d:: + + +DEAL:2:2d::ID = 2 +DEAL:2:2d::0 +DEAL:2:2d::0123 +DEAL:2:2d::--00--1-22223-3- +DEAL:2:2d:: + + +DEAL:3:2d::ID = 3 +DEAL:3:2d::0 +DEAL:3:2d::0123 +DEAL:3:2d::---0--11-2-23333 +DEAL:3:2d:: + diff --git a/tests/mpi/mg_02.cc b/tests/mpi/mg_02.cc index 8e9938372b..8bf36dc7ec 100644 --- a/tests/mpi/mg_02.cc +++ b/tests/mpi/mg_02.cc @@ -53,11 +53,9 @@ void test() DoFHandler dofh(tr); { - std::ofstream file((JobIdentifier::base_name(__FILE__)+"/ncpu_" + Utilities::int_to_string(Utilities::MPI::n_mpi_processes (MPI_COMM_WORLD)) + "/dat." + Utilities::int_to_string(myid)).c_str()); - file << "**** proc " << myid << std::endl; for (unsigned int lvl=0;lvl::cell_iterator cell = dofh.begin(lvl), endc = dofh.end(lvl); @@ -65,25 +63,14 @@ void test() for (;cell!=endc;++cell) { if (cell->level_subdomain_id()!=4294967294) - file << cell->level_subdomain_id(); + deallog << cell->level_subdomain_id(); else - file << "-"; + deallog << "-"; } - file << std::endl; + deallog << std::endl; } } - - MPI_Barrier(MPI_COMM_WORLD); - - if (myid==0) - { - for (unsigned int i=0;i fe(0); Assert(dofh.has_active_dofs()==false, ExcInternalError()); Assert(dofh.has_level_dofs()==false, ExcInternalError()); @@ -97,7 +84,6 @@ void test() Assert(dofh.has_active_dofs()==true, ExcInternalError()); Assert(dofh.has_level_dofs()==true, ExcInternalError()); - if (myid==0) { deallog << "Levels: " << tr.n_global_levels() << std::endl; std::cout << "Levels: " << tr.n_global_levels() << std::endl; @@ -116,8 +102,6 @@ void test() for (unsigned int i=0; i(); - deallog.pop(); - } - else - test<2>(); - + deallog.push("2d"); + test<2>(); + deallog.pop(); } diff --git a/tests/mpi/mg_02/ncpu_10/cmp/generic b/tests/mpi/mg_02/ncpu_10/cmp/generic index 873d58a34b..40ba871313 100644 --- a/tests/mpi/mg_02/ncpu_10/cmp/generic +++ b/tests/mpi/mg_02/ncpu_10/cmp/generic @@ -1,43 +1,6 @@ DEAL:0:2d::hyper_cube -**** proc 0 -level 0: - - -**** proc 1 -level 0: 1 -level 1: 1368 -level 2: 11113-3-66--8--- - -**** proc 2 -level 0: - - -**** proc 3 -level 0: 1 -level 1: 1368 -level 2: -1-13333-6--88-- - -**** proc 4 -level 0: - - -**** proc 5 -level 0: - - -**** proc 6 -level 0: 1 -level 1: 1368 -level 2: --11--3-66668-8- - -**** proc 7 -level 0: - - -**** proc 8 -level 0: 1 -level 1: 1368 -level 2: ---1--33-6-68888 - -**** proc 9 -level 0: - - +DEAL:0:2d::level 0: - DEAL:0:2d::Levels: 3 DEAL:0:2d::n_locally_owned_dofs_per_processor: DEAL:0:2d::0 @@ -84,3 +47,452 @@ DEAL:0:2d::4 DEAL:0:2d::0 DEAL:0:2d::4 DEAL:0:2d::0 + +DEAL:1:2d::level 0: 1 +DEAL:1:2d::level 1: 1368 +DEAL:1:2d::level 2: 11113-3-66--8--- +DEAL:1:2d::Levels: 3 +DEAL:1:2d::n_locally_owned_dofs_per_processor: +DEAL:1:2d::0 +DEAL:1:2d::4 +DEAL:1:2d::0 +DEAL:1:2d::4 +DEAL:1:2d::0 +DEAL:1:2d::0 +DEAL:1:2d::4 +DEAL:1:2d::0 +DEAL:1:2d::4 +DEAL:1:2d::0 +DEAL:1:2d::locally_owned_mg_dofs_per_processor: +DEAL:1:2d::level 0: +DEAL:1:2d::0 +DEAL:1:2d::1 +DEAL:1:2d::0 +DEAL:1:2d::0 +DEAL:1:2d::0 +DEAL:1:2d::0 +DEAL:1:2d::0 +DEAL:1:2d::0 +DEAL:1:2d::0 +DEAL:1:2d::0 +DEAL:1:2d::level 1: +DEAL:1:2d::0 +DEAL:1:2d::1 +DEAL:1:2d::0 +DEAL:1:2d::1 +DEAL:1:2d::0 +DEAL:1:2d::0 +DEAL:1:2d::1 +DEAL:1:2d::0 +DEAL:1:2d::1 +DEAL:1:2d::0 +DEAL:1:2d::level 2: +DEAL:1:2d::0 +DEAL:1:2d::4 +DEAL:1:2d::0 +DEAL:1:2d::4 +DEAL:1:2d::0 +DEAL:1:2d::0 +DEAL:1:2d::4 +DEAL:1:2d::0 +DEAL:1:2d::4 +DEAL:1:2d::0 + + +DEAL:2:2d::level 0: - +DEAL:2:2d::Levels: 3 +DEAL:2:2d::n_locally_owned_dofs_per_processor: +DEAL:2:2d::0 +DEAL:2:2d::4 +DEAL:2:2d::0 +DEAL:2:2d::4 +DEAL:2:2d::0 +DEAL:2:2d::0 +DEAL:2:2d::4 +DEAL:2:2d::0 +DEAL:2:2d::4 +DEAL:2:2d::0 +DEAL:2:2d::locally_owned_mg_dofs_per_processor: +DEAL:2:2d::level 0: +DEAL:2:2d::0 +DEAL:2:2d::1 +DEAL:2:2d::0 +DEAL:2:2d::0 +DEAL:2:2d::0 +DEAL:2:2d::0 +DEAL:2:2d::0 +DEAL:2:2d::0 +DEAL:2:2d::0 +DEAL:2:2d::0 +DEAL:2:2d::level 1: +DEAL:2:2d::0 +DEAL:2:2d::1 +DEAL:2:2d::0 +DEAL:2:2d::1 +DEAL:2:2d::0 +DEAL:2:2d::0 +DEAL:2:2d::1 +DEAL:2:2d::0 +DEAL:2:2d::1 +DEAL:2:2d::0 +DEAL:2:2d::level 2: +DEAL:2:2d::0 +DEAL:2:2d::4 +DEAL:2:2d::0 +DEAL:2:2d::4 +DEAL:2:2d::0 +DEAL:2:2d::0 +DEAL:2:2d::4 +DEAL:2:2d::0 +DEAL:2:2d::4 +DEAL:2:2d::0 + + +DEAL:3:2d::level 0: 1 +DEAL:3:2d::level 1: 1368 +DEAL:3:2d::level 2: -1-13333-6--88-- +DEAL:3:2d::Levels: 3 +DEAL:3:2d::n_locally_owned_dofs_per_processor: +DEAL:3:2d::0 +DEAL:3:2d::4 +DEAL:3:2d::0 +DEAL:3:2d::4 +DEAL:3:2d::0 +DEAL:3:2d::0 +DEAL:3:2d::4 +DEAL:3:2d::0 +DEAL:3:2d::4 +DEAL:3:2d::0 +DEAL:3:2d::locally_owned_mg_dofs_per_processor: +DEAL:3:2d::level 0: +DEAL:3:2d::0 +DEAL:3:2d::1 +DEAL:3:2d::0 +DEAL:3:2d::0 +DEAL:3:2d::0 +DEAL:3:2d::0 +DEAL:3:2d::0 +DEAL:3:2d::0 +DEAL:3:2d::0 +DEAL:3:2d::0 +DEAL:3:2d::level 1: +DEAL:3:2d::0 +DEAL:3:2d::1 +DEAL:3:2d::0 +DEAL:3:2d::1 +DEAL:3:2d::0 +DEAL:3:2d::0 +DEAL:3:2d::1 +DEAL:3:2d::0 +DEAL:3:2d::1 +DEAL:3:2d::0 +DEAL:3:2d::level 2: +DEAL:3:2d::0 +DEAL:3:2d::4 +DEAL:3:2d::0 +DEAL:3:2d::4 +DEAL:3:2d::0 +DEAL:3:2d::0 +DEAL:3:2d::4 +DEAL:3:2d::0 +DEAL:3:2d::4 +DEAL:3:2d::0 + + +DEAL:4:2d::level 0: - +DEAL:4:2d::Levels: 3 +DEAL:4:2d::n_locally_owned_dofs_per_processor: +DEAL:4:2d::0 +DEAL:4:2d::4 +DEAL:4:2d::0 +DEAL:4:2d::4 +DEAL:4:2d::0 +DEAL:4:2d::0 +DEAL:4:2d::4 +DEAL:4:2d::0 +DEAL:4:2d::4 +DEAL:4:2d::0 +DEAL:4:2d::locally_owned_mg_dofs_per_processor: +DEAL:4:2d::level 0: +DEAL:4:2d::0 +DEAL:4:2d::1 +DEAL:4:2d::0 +DEAL:4:2d::0 +DEAL:4:2d::0 +DEAL:4:2d::0 +DEAL:4:2d::0 +DEAL:4:2d::0 +DEAL:4:2d::0 +DEAL:4:2d::0 +DEAL:4:2d::level 1: +DEAL:4:2d::0 +DEAL:4:2d::1 +DEAL:4:2d::0 +DEAL:4:2d::1 +DEAL:4:2d::0 +DEAL:4:2d::0 +DEAL:4:2d::1 +DEAL:4:2d::0 +DEAL:4:2d::1 +DEAL:4:2d::0 +DEAL:4:2d::level 2: +DEAL:4:2d::0 +DEAL:4:2d::4 +DEAL:4:2d::0 +DEAL:4:2d::4 +DEAL:4:2d::0 +DEAL:4:2d::0 +DEAL:4:2d::4 +DEAL:4:2d::0 +DEAL:4:2d::4 +DEAL:4:2d::0 + + +DEAL:5:2d::level 0: - +DEAL:5:2d::Levels: 3 +DEAL:5:2d::n_locally_owned_dofs_per_processor: +DEAL:5:2d::0 +DEAL:5:2d::4 +DEAL:5:2d::0 +DEAL:5:2d::4 +DEAL:5:2d::0 +DEAL:5:2d::0 +DEAL:5:2d::4 +DEAL:5:2d::0 +DEAL:5:2d::4 +DEAL:5:2d::0 +DEAL:5:2d::locally_owned_mg_dofs_per_processor: +DEAL:5:2d::level 0: +DEAL:5:2d::0 +DEAL:5:2d::1 +DEAL:5:2d::0 +DEAL:5:2d::0 +DEAL:5:2d::0 +DEAL:5:2d::0 +DEAL:5:2d::0 +DEAL:5:2d::0 +DEAL:5:2d::0 +DEAL:5:2d::0 +DEAL:5:2d::level 1: +DEAL:5:2d::0 +DEAL:5:2d::1 +DEAL:5:2d::0 +DEAL:5:2d::1 +DEAL:5:2d::0 +DEAL:5:2d::0 +DEAL:5:2d::1 +DEAL:5:2d::0 +DEAL:5:2d::1 +DEAL:5:2d::0 +DEAL:5:2d::level 2: +DEAL:5:2d::0 +DEAL:5:2d::4 +DEAL:5:2d::0 +DEAL:5:2d::4 +DEAL:5:2d::0 +DEAL:5:2d::0 +DEAL:5:2d::4 +DEAL:5:2d::0 +DEAL:5:2d::4 +DEAL:5:2d::0 + + +DEAL:6:2d::level 0: 1 +DEAL:6:2d::level 1: 1368 +DEAL:6:2d::level 2: --11--3-66668-8- +DEAL:6:2d::Levels: 3 +DEAL:6:2d::n_locally_owned_dofs_per_processor: +DEAL:6:2d::0 +DEAL:6:2d::4 +DEAL:6:2d::0 +DEAL:6:2d::4 +DEAL:6:2d::0 +DEAL:6:2d::0 +DEAL:6:2d::4 +DEAL:6:2d::0 +DEAL:6:2d::4 +DEAL:6:2d::0 +DEAL:6:2d::locally_owned_mg_dofs_per_processor: +DEAL:6:2d::level 0: +DEAL:6:2d::0 +DEAL:6:2d::1 +DEAL:6:2d::0 +DEAL:6:2d::0 +DEAL:6:2d::0 +DEAL:6:2d::0 +DEAL:6:2d::0 +DEAL:6:2d::0 +DEAL:6:2d::0 +DEAL:6:2d::0 +DEAL:6:2d::level 1: +DEAL:6:2d::0 +DEAL:6:2d::1 +DEAL:6:2d::0 +DEAL:6:2d::1 +DEAL:6:2d::0 +DEAL:6:2d::0 +DEAL:6:2d::1 +DEAL:6:2d::0 +DEAL:6:2d::1 +DEAL:6:2d::0 +DEAL:6:2d::level 2: +DEAL:6:2d::0 +DEAL:6:2d::4 +DEAL:6:2d::0 +DEAL:6:2d::4 +DEAL:6:2d::0 +DEAL:6:2d::0 +DEAL:6:2d::4 +DEAL:6:2d::0 +DEAL:6:2d::4 +DEAL:6:2d::0 + + +DEAL:7:2d::level 0: - +DEAL:7:2d::Levels: 3 +DEAL:7:2d::n_locally_owned_dofs_per_processor: +DEAL:7:2d::0 +DEAL:7:2d::4 +DEAL:7:2d::0 +DEAL:7:2d::4 +DEAL:7:2d::0 +DEAL:7:2d::0 +DEAL:7:2d::4 +DEAL:7:2d::0 +DEAL:7:2d::4 +DEAL:7:2d::0 +DEAL:7:2d::locally_owned_mg_dofs_per_processor: +DEAL:7:2d::level 0: +DEAL:7:2d::0 +DEAL:7:2d::1 +DEAL:7:2d::0 +DEAL:7:2d::0 +DEAL:7:2d::0 +DEAL:7:2d::0 +DEAL:7:2d::0 +DEAL:7:2d::0 +DEAL:7:2d::0 +DEAL:7:2d::0 +DEAL:7:2d::level 1: +DEAL:7:2d::0 +DEAL:7:2d::1 +DEAL:7:2d::0 +DEAL:7:2d::1 +DEAL:7:2d::0 +DEAL:7:2d::0 +DEAL:7:2d::1 +DEAL:7:2d::0 +DEAL:7:2d::1 +DEAL:7:2d::0 +DEAL:7:2d::level 2: +DEAL:7:2d::0 +DEAL:7:2d::4 +DEAL:7:2d::0 +DEAL:7:2d::4 +DEAL:7:2d::0 +DEAL:7:2d::0 +DEAL:7:2d::4 +DEAL:7:2d::0 +DEAL:7:2d::4 +DEAL:7:2d::0 + + +DEAL:8:2d::level 0: 1 +DEAL:8:2d::level 1: 1368 +DEAL:8:2d::level 2: ---1--33-6-68888 +DEAL:8:2d::Levels: 3 +DEAL:8:2d::n_locally_owned_dofs_per_processor: +DEAL:8:2d::0 +DEAL:8:2d::4 +DEAL:8:2d::0 +DEAL:8:2d::4 +DEAL:8:2d::0 +DEAL:8:2d::0 +DEAL:8:2d::4 +DEAL:8:2d::0 +DEAL:8:2d::4 +DEAL:8:2d::0 +DEAL:8:2d::locally_owned_mg_dofs_per_processor: +DEAL:8:2d::level 0: +DEAL:8:2d::0 +DEAL:8:2d::1 +DEAL:8:2d::0 +DEAL:8:2d::0 +DEAL:8:2d::0 +DEAL:8:2d::0 +DEAL:8:2d::0 +DEAL:8:2d::0 +DEAL:8:2d::0 +DEAL:8:2d::0 +DEAL:8:2d::level 1: +DEAL:8:2d::0 +DEAL:8:2d::1 +DEAL:8:2d::0 +DEAL:8:2d::1 +DEAL:8:2d::0 +DEAL:8:2d::0 +DEAL:8:2d::1 +DEAL:8:2d::0 +DEAL:8:2d::1 +DEAL:8:2d::0 +DEAL:8:2d::level 2: +DEAL:8:2d::0 +DEAL:8:2d::4 +DEAL:8:2d::0 +DEAL:8:2d::4 +DEAL:8:2d::0 +DEAL:8:2d::0 +DEAL:8:2d::4 +DEAL:8:2d::0 +DEAL:8:2d::4 +DEAL:8:2d::0 + + +DEAL:9:2d::level 0: - +DEAL:9:2d::Levels: 3 +DEAL:9:2d::n_locally_owned_dofs_per_processor: +DEAL:9:2d::0 +DEAL:9:2d::4 +DEAL:9:2d::0 +DEAL:9:2d::4 +DEAL:9:2d::0 +DEAL:9:2d::0 +DEAL:9:2d::4 +DEAL:9:2d::0 +DEAL:9:2d::4 +DEAL:9:2d::0 +DEAL:9:2d::locally_owned_mg_dofs_per_processor: +DEAL:9:2d::level 0: +DEAL:9:2d::0 +DEAL:9:2d::1 +DEAL:9:2d::0 +DEAL:9:2d::0 +DEAL:9:2d::0 +DEAL:9:2d::0 +DEAL:9:2d::0 +DEAL:9:2d::0 +DEAL:9:2d::0 +DEAL:9:2d::0 +DEAL:9:2d::level 1: +DEAL:9:2d::0 +DEAL:9:2d::1 +DEAL:9:2d::0 +DEAL:9:2d::1 +DEAL:9:2d::0 +DEAL:9:2d::0 +DEAL:9:2d::1 +DEAL:9:2d::0 +DEAL:9:2d::1 +DEAL:9:2d::0 +DEAL:9:2d::level 2: +DEAL:9:2d::0 +DEAL:9:2d::4 +DEAL:9:2d::0 +DEAL:9:2d::4 +DEAL:9:2d::0 +DEAL:9:2d::0 +DEAL:9:2d::4 +DEAL:9:2d::0 +DEAL:9:2d::4 +DEAL:9:2d::0 + diff --git a/tests/mpi/mg_02/ncpu_4/cmp/generic b/tests/mpi/mg_02/ncpu_4/cmp/generic index 05af21be12..20bd6b78cd 100644 --- a/tests/mpi/mg_02/ncpu_4/cmp/generic +++ b/tests/mpi/mg_02/ncpu_4/cmp/generic @@ -1,25 +1,8 @@ DEAL:0:2d::hyper_cube -**** proc 0 -level 0: 0 -level 1: 0123 -level 2: 00001-1-22--3--- - -**** proc 1 -level 0: 0 -level 1: 0123 -level 2: -0-01111-2--33-- - -**** proc 2 -level 0: 0 -level 1: 0123 -level 2: --00--1-22223-3- - -**** proc 3 -level 0: 0 -level 1: 0123 -level 2: ---0--11-2-23333 - +DEAL:0:2d::level 0: 0 +DEAL:0:2d::level 1: 0123 +DEAL:0:2d::level 2: 00001-1-22--3--- DEAL:0:2d::Levels: 3 DEAL:0:2d::n_locally_owned_dofs_per_processor: DEAL:0:2d::4 @@ -42,3 +25,84 @@ DEAL:0:2d::4 DEAL:0:2d::4 DEAL:0:2d::4 DEAL:0:2d::4 + +DEAL:1:2d::level 0: 0 +DEAL:1:2d::level 1: 0123 +DEAL:1:2d::level 2: -0-01111-2--33-- +DEAL:1:2d::Levels: 3 +DEAL:1:2d::n_locally_owned_dofs_per_processor: +DEAL:1:2d::4 +DEAL:1:2d::4 +DEAL:1:2d::4 +DEAL:1:2d::4 +DEAL:1:2d::locally_owned_mg_dofs_per_processor: +DEAL:1:2d::level 0: +DEAL:1:2d::1 +DEAL:1:2d::0 +DEAL:1:2d::0 +DEAL:1:2d::0 +DEAL:1:2d::level 1: +DEAL:1:2d::1 +DEAL:1:2d::1 +DEAL:1:2d::1 +DEAL:1:2d::1 +DEAL:1:2d::level 2: +DEAL:1:2d::4 +DEAL:1:2d::4 +DEAL:1:2d::4 +DEAL:1:2d::4 + + +DEAL:2:2d::level 0: 0 +DEAL:2:2d::level 1: 0123 +DEAL:2:2d::level 2: --00--1-22223-3- +DEAL:2:2d::Levels: 3 +DEAL:2:2d::n_locally_owned_dofs_per_processor: +DEAL:2:2d::4 +DEAL:2:2d::4 +DEAL:2:2d::4 +DEAL:2:2d::4 +DEAL:2:2d::locally_owned_mg_dofs_per_processor: +DEAL:2:2d::level 0: +DEAL:2:2d::1 +DEAL:2:2d::0 +DEAL:2:2d::0 +DEAL:2:2d::0 +DEAL:2:2d::level 1: +DEAL:2:2d::1 +DEAL:2:2d::1 +DEAL:2:2d::1 +DEAL:2:2d::1 +DEAL:2:2d::level 2: +DEAL:2:2d::4 +DEAL:2:2d::4 +DEAL:2:2d::4 +DEAL:2:2d::4 + + +DEAL:3:2d::level 0: 0 +DEAL:3:2d::level 1: 0123 +DEAL:3:2d::level 2: ---0--11-2-23333 +DEAL:3:2d::Levels: 3 +DEAL:3:2d::n_locally_owned_dofs_per_processor: +DEAL:3:2d::4 +DEAL:3:2d::4 +DEAL:3:2d::4 +DEAL:3:2d::4 +DEAL:3:2d::locally_owned_mg_dofs_per_processor: +DEAL:3:2d::level 0: +DEAL:3:2d::1 +DEAL:3:2d::0 +DEAL:3:2d::0 +DEAL:3:2d::0 +DEAL:3:2d::level 1: +DEAL:3:2d::1 +DEAL:3:2d::1 +DEAL:3:2d::1 +DEAL:3:2d::1 +DEAL:3:2d::level 2: +DEAL:3:2d::4 +DEAL:3:2d::4 +DEAL:3:2d::4 +DEAL:3:2d::4 + diff --git a/tests/mpi/mg_03.cc b/tests/mpi/mg_03.cc index 3a14741b65..b249bab4a8 100644 --- a/tests/mpi/mg_03.cc +++ b/tests/mpi/mg_03.cc @@ -83,41 +83,29 @@ void test() dofh.distribute_mg_dofs (fe); { - std::ofstream file((std::string("mg_03/ncpu_") + Utilities::int_to_string(Utilities::MPI::n_mpi_processes (MPI_COMM_WORLD)) + "/dat." + Utilities::int_to_string(myid)).c_str()); - file << "**** proc " << myid << std::endl; - for (unsigned int lvl=0;lvl::cell_iterator - cell = dofh.begin(lvl), - endc = dofh.end(lvl); - - for (;cell!=endc;++cell) - { - std::vector dofs(fe.n_dofs_per_cell()); - cell->get_mg_dof_indices(dofs); - - for (unsigned int i=0;i::cell_iterator + cell = dofh.begin(lvl), + endc = dofh.end(lvl); + + for (;cell!=endc;++cell) + { + std::vector dofs(fe.n_dofs_per_cell()); + cell->get_mg_dof_indices(dofs); + + for (unsigned int i=0;i(); - deallog.pop(); - } - else - test<2>(); - + deallog.push("2d"); + test<2>(); + deallog.pop(); } diff --git a/tests/mpi/mg_03/ncpu_1/cmp/generic b/tests/mpi/mg_03/ncpu_1/cmp/generic index 9140b597a7..f148d39a51 100644 --- a/tests/mpi/mg_03/ncpu_1/cmp/generic +++ b/tests/mpi/mg_03/ncpu_1/cmp/generic @@ -1,8 +1,6 @@ DEAL:0:2d::hyper_cube -**** proc 0 -level 0: 0 | -level 1: 0 | 1 | 2 | 3 | -level 2: 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | - +DEAL:0:2d::level 0: 0 | +DEAL:0:2d::level 1: 0 | 1 | 2 | 3 | +DEAL:0:2d::level 2: 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | DEAL:0:2d::OK diff --git a/tests/mpi/mg_03/ncpu_10/cmp/generic b/tests/mpi/mg_03/ncpu_10/cmp/generic index a3c35cc5e8..5161c912d4 100644 --- a/tests/mpi/mg_03/ncpu_10/cmp/generic +++ b/tests/mpi/mg_03/ncpu_10/cmp/generic @@ -1,41 +1,39 @@ DEAL:0:2d::hyper_cube -**** proc 0 -level 0: - | +DEAL:0:2d::level 0: - | +DEAL:0:2d::OK -**** proc 1 -level 0: 0 | -level 1: 0 | 1 | 2 | 3 | -level 2: 0 | 1 | 2 | 3 | 4 | - | 6 | - | 8 | 9 | - | - | 12 | - | - | - | +DEAL:1:2d::level 0: 0 | +DEAL:1:2d::level 1: 0 | 1 | 2 | 3 | +DEAL:1:2d::level 2: 0 | 1 | 2 | 3 | 4 | - | 6 | - | 8 | 9 | - | - | 12 | - | - | - | -**** proc 2 -level 0: - | -**** proc 3 -level 0: 0 | -level 1: 0 | 1 | 2 | 3 | -level 2: - | 1 | - | 3 | 4 | 5 | 6 | 7 | - | 9 | - | - | 12 | 13 | - | - | +DEAL:2:2d::level 0: - | -**** proc 4 -level 0: - | -**** proc 5 -level 0: - | +DEAL:3:2d::level 0: 0 | +DEAL:3:2d::level 1: 0 | 1 | 2 | 3 | +DEAL:3:2d::level 2: - | 1 | - | 3 | 4 | 5 | 6 | 7 | - | 9 | - | - | 12 | 13 | - | - | -**** proc 6 -level 0: 0 | -level 1: 0 | 1 | 2 | 3 | -level 2: - | - | 2 | 3 | - | - | 6 | - | 8 | 9 | 10 | 11 | 12 | - | 14 | - | -**** proc 7 -level 0: - | +DEAL:4:2d::level 0: - | -**** proc 8 -level 0: 0 | -level 1: 0 | 1 | 2 | 3 | -level 2: - | - | - | 3 | - | - | 6 | 7 | - | 9 | - | 11 | 12 | 13 | 14 | 15 | -**** proc 9 -level 0: - | +DEAL:5:2d::level 0: - | + + +DEAL:6:2d::level 0: 0 | +DEAL:6:2d::level 1: 0 | 1 | 2 | 3 | +DEAL:6:2d::level 2: - | - | 2 | 3 | - | - | 6 | - | 8 | 9 | 10 | 11 | 12 | - | 14 | - | + + +DEAL:7:2d::level 0: - | + + +DEAL:8:2d::level 0: 0 | +DEAL:8:2d::level 1: 0 | 1 | 2 | 3 | +DEAL:8:2d::level 2: - | - | - | 3 | - | - | 6 | 7 | - | 9 | - | 11 | 12 | 13 | 14 | 15 | + + +DEAL:9:2d::level 0: - | -DEAL:0:2d::OK diff --git a/tests/mpi/mg_03/ncpu_4/cmp/generic b/tests/mpi/mg_03/ncpu_4/cmp/generic index d5488172aa..ce8440ca5a 100644 --- a/tests/mpi/mg_03/ncpu_4/cmp/generic +++ b/tests/mpi/mg_03/ncpu_4/cmp/generic @@ -1,23 +1,21 @@ DEAL:0:2d::hyper_cube -**** proc 0 -level 0: 0 | -level 1: 0 | 1 | 2 | 3 | -level 2: 0 | 1 | 2 | 3 | 4 | - | 6 | - | 8 | 9 | - | - | 12 | - | - | - | +DEAL:0:2d::level 0: 0 | +DEAL:0:2d::level 1: 0 | 1 | 2 | 3 | +DEAL:0:2d::level 2: 0 | 1 | 2 | 3 | 4 | - | 6 | - | 8 | 9 | - | - | 12 | - | - | - | +DEAL:0:2d::OK -**** proc 1 -level 0: 0 | -level 1: 0 | 1 | 2 | 3 | -level 2: - | 1 | - | 3 | 4 | 5 | 6 | 7 | - | 9 | - | - | 12 | 13 | - | - | +DEAL:1:2d::level 0: 0 | +DEAL:1:2d::level 1: 0 | 1 | 2 | 3 | +DEAL:1:2d::level 2: - | 1 | - | 3 | 4 | 5 | 6 | 7 | - | 9 | - | - | 12 | 13 | - | - | -**** proc 2 -level 0: 0 | -level 1: 0 | 1 | 2 | 3 | -level 2: - | - | 2 | 3 | - | - | 6 | - | 8 | 9 | 10 | 11 | 12 | - | 14 | - | -**** proc 3 -level 0: 0 | -level 1: 0 | 1 | 2 | 3 | -level 2: - | - | - | 3 | - | - | 6 | 7 | - | 9 | - | 11 | 12 | 13 | 14 | 15 | +DEAL:2:2d::level 0: 0 | +DEAL:2:2d::level 1: 0 | 1 | 2 | 3 | +DEAL:2:2d::level 2: - | - | 2 | 3 | - | - | 6 | - | 8 | 9 | 10 | 11 | 12 | - | 14 | - | + + +DEAL:3:2d::level 0: 0 | +DEAL:3:2d::level 1: 0 | 1 | 2 | 3 | +DEAL:3:2d::level 2: - | - | - | 3 | - | - | 6 | 7 | - | 9 | - | 11 | 12 | 13 | 14 | 15 | -DEAL:0:2d::OK diff --git a/tests/mpi/mg_04.cc b/tests/mpi/mg_04.cc index 915f012865..4caa099b32 100644 --- a/tests/mpi/mg_04.cc +++ b/tests/mpi/mg_04.cc @@ -79,41 +79,29 @@ void test() dofh.distribute_mg_dofs (fe); { - std::ofstream file((std::string("mg_04/ncpu_") + Utilities::int_to_string(Utilities::MPI::n_mpi_processes (MPI_COMM_WORLD)) + "/dat." + Utilities::int_to_string(myid)).c_str()); - file << "**** proc " << myid << std::endl; - for (unsigned int lvl=0;lvl::cell_iterator - cell = dofh.begin(lvl), - endc = dofh.end(lvl); - - for (;cell!=endc;++cell) - { - std::vector dofs(fe.n_dofs_per_cell()); - cell->get_mg_dof_indices(dofs); - - for (unsigned int i=0;i::cell_iterator + cell = dofh.begin(lvl), + endc = dofh.end(lvl); + + for (;cell!=endc;++cell) + { + std::vector dofs(fe.n_dofs_per_cell()); + cell->get_mg_dof_indices(dofs); + + for (unsigned int i=0;i(); - deallog.pop(); - } - else - test<2>(); - + deallog.push("2d"); + test<2>(); + deallog.pop(); } diff --git a/tests/mpi/mg_04/ncpu_1/cmp/generic b/tests/mpi/mg_04/ncpu_1/cmp/generic index dff3dea2c5..ba3ef87ce0 100644 --- a/tests/mpi/mg_04/ncpu_1/cmp/generic +++ b/tests/mpi/mg_04/ncpu_1/cmp/generic @@ -1,8 +1,6 @@ DEAL:0:2d::hyper_cube -**** proc 0 -level 0: 0 1 2 3 | -level 1: 0 1 2 3 | 1 4 3 5 | 2 3 6 7 | 3 5 7 8 | -level 2: 0 1 2 3 | 1 4 3 5 | 2 3 6 7 | 3 5 7 8 | 4 9 5 10 | 9 11 10 12 | 5 10 8 13 | 10 12 13 14 | 6 7 15 16 | 7 8 16 17 | 15 16 18 19 | 16 17 19 20 | 8 13 17 21 | 13 14 21 22 | 17 21 20 23 | 21 22 23 24 | - +DEAL:0:2d::level 0: 0 1 2 3 | +DEAL:0:2d::level 1: 0 1 2 3 | 1 4 3 5 | 2 3 6 7 | 3 5 7 8 | +DEAL:0:2d::level 2: 0 1 2 3 | 1 4 3 5 | 2 3 6 7 | 3 5 7 8 | 4 9 5 10 | 9 11 10 12 | 5 10 8 13 | 10 12 13 14 | 6 7 15 16 | 7 8 16 17 | 15 16 18 19 | 16 17 19 20 | 8 13 17 21 | 13 14 21 22 | 17 21 20 23 | 21 22 23 24 | DEAL:0:2d::OK diff --git a/tests/mpi/mg_04/ncpu_10/cmp/generic b/tests/mpi/mg_04/ncpu_10/cmp/generic index 65310ee0ac..0f6b464ff2 100644 --- a/tests/mpi/mg_04/ncpu_10/cmp/generic +++ b/tests/mpi/mg_04/ncpu_10/cmp/generic @@ -1,41 +1,39 @@ DEAL:0:2d::hyper_cube -**** proc 0 -level 0: - - - - | +DEAL:0:2d::level 0: - - - - | +DEAL:0:2d::OK -**** proc 1 -level 0: 0 1 2 3 | -level 1: 0 1 2 3 | 1 4 3 5 | 2 3 6 7 | 3 5 7 8 | -level 2: 0 1 2 3 | 1 4 3 5 | 2 3 6 7 | 3 5 7 8 | 4 9 5 10 | 9 - 10 - | 5 10 8 13 | 10 - 13 - | 6 7 15 16 | 7 8 16 17 | 15 16 - - | 16 17 - - | 8 13 17 21 | 13 - 21 - | 17 21 - - | 21 - - - | +DEAL:1:2d::level 0: 0 1 2 3 | +DEAL:1:2d::level 1: 0 1 2 3 | 1 4 3 5 | 2 3 6 7 | 3 5 7 8 | +DEAL:1:2d::level 2: 0 1 2 3 | 1 4 3 5 | 2 3 6 7 | 3 5 7 8 | 4 9 5 10 | 9 - 10 - | 5 10 8 13 | 10 - 13 - | 6 7 15 16 | 7 8 16 17 | 15 16 - - | 16 17 - - | 8 13 17 21 | 13 - 21 - | 17 21 - - | 21 - - - | -**** proc 2 -level 0: - - - - | -**** proc 3 -level 0: 0 1 2 3 | -level 1: 0 1 2 3 | 1 4 3 5 | 2 3 6 7 | 3 5 7 8 | -level 2: - 1 - 3 | 1 4 3 5 | - 3 - 7 | 3 5 7 8 | 4 9 5 10 | 9 11 10 12 | 5 10 8 13 | 10 12 13 14 | - 7 - 16 | 7 8 16 17 | - 16 - - | 16 17 - - | 8 13 17 21 | 13 14 21 22 | 17 21 - - | 21 22 - - | +DEAL:2:2d::level 0: - - - - | -**** proc 4 -level 0: - - - - | -**** proc 5 -level 0: - - - - | +DEAL:3:2d::level 0: 0 1 2 3 | +DEAL:3:2d::level 1: 0 1 2 3 | 1 4 3 5 | 2 3 6 7 | 3 5 7 8 | +DEAL:3:2d::level 2: - 1 - 3 | 1 4 3 5 | - 3 - 7 | 3 5 7 8 | 4 9 5 10 | 9 11 10 12 | 5 10 8 13 | 10 12 13 14 | - 7 - 16 | 7 8 16 17 | - 16 - - | 16 17 - - | 8 13 17 21 | 13 14 21 22 | 17 21 - - | 21 22 - - | -**** proc 6 -level 0: 0 1 2 3 | -level 1: 0 1 2 3 | 1 4 3 5 | 2 3 6 7 | 3 5 7 8 | -level 2: - - 2 3 | - - 3 5 | 2 3 6 7 | 3 5 7 8 | - - 5 10 | - - 10 - | 5 10 8 13 | 10 - 13 - | 6 7 15 16 | 7 8 16 17 | 15 16 18 19 | 16 17 19 20 | 8 13 17 21 | 13 - 21 - | 17 21 20 23 | 21 - 23 - | -**** proc 7 -level 0: - - - - | +DEAL:4:2d::level 0: - - - - | -**** proc 8 -level 0: 0 1 2 3 | -level 1: 0 1 2 3 | 1 4 3 5 | 2 3 6 7 | 3 5 7 8 | -level 2: - - - 3 | - - 3 5 | - 3 - 7 | 3 5 7 8 | - - 5 10 | - - 10 12 | 5 10 8 13 | 10 12 13 14 | - 7 - 16 | 7 8 16 17 | - 16 - 19 | 16 17 19 20 | 8 13 17 21 | 13 14 21 22 | 17 21 20 23 | 21 22 23 24 | -**** proc 9 -level 0: - - - - | +DEAL:5:2d::level 0: - - - - | + + +DEAL:6:2d::level 0: 0 1 2 3 | +DEAL:6:2d::level 1: 0 1 2 3 | 1 4 3 5 | 2 3 6 7 | 3 5 7 8 | +DEAL:6:2d::level 2: - - 2 3 | - - 3 5 | 2 3 6 7 | 3 5 7 8 | - - 5 10 | - - 10 - | 5 10 8 13 | 10 - 13 - | 6 7 15 16 | 7 8 16 17 | 15 16 18 19 | 16 17 19 20 | 8 13 17 21 | 13 - 21 - | 17 21 20 23 | 21 - 23 - | + + +DEAL:7:2d::level 0: - - - - | + + +DEAL:8:2d::level 0: 0 1 2 3 | +DEAL:8:2d::level 1: 0 1 2 3 | 1 4 3 5 | 2 3 6 7 | 3 5 7 8 | +DEAL:8:2d::level 2: - - - 3 | - - 3 5 | - 3 - 7 | 3 5 7 8 | - - 5 10 | - - 10 12 | 5 10 8 13 | 10 12 13 14 | - 7 - 16 | 7 8 16 17 | - 16 - 19 | 16 17 19 20 | 8 13 17 21 | 13 14 21 22 | 17 21 20 23 | 21 22 23 24 | + + +DEAL:9:2d::level 0: - - - - | -DEAL:0:2d::OK diff --git a/tests/mpi/mg_04/ncpu_2/cmp/generic b/tests/mpi/mg_04/ncpu_2/cmp/generic index 0a67589131..dd4767f84d 100644 --- a/tests/mpi/mg_04/ncpu_2/cmp/generic +++ b/tests/mpi/mg_04/ncpu_2/cmp/generic @@ -1,13 +1,11 @@ DEAL:0:2d::hyper_cube -**** proc 0 -level 0: 0 1 2 3 | -level 1: 0 1 2 3 | 1 4 3 5 | 2 3 6 7 | 3 5 7 8 | -level 2: 0 1 2 3 | 1 4 3 5 | 2 3 6 7 | 3 5 7 8 | 4 9 5 10 | 9 11 10 12 | 5 10 8 13 | 10 12 13 14 | 6 7 15 16 | 7 8 16 17 | 15 16 - - | 16 17 - - | 8 13 17 21 | 13 14 21 22 | 17 21 - - | 21 22 - - | +DEAL:0:2d::level 0: 0 1 2 3 | +DEAL:0:2d::level 1: 0 1 2 3 | 1 4 3 5 | 2 3 6 7 | 3 5 7 8 | +DEAL:0:2d::level 2: 0 1 2 3 | 1 4 3 5 | 2 3 6 7 | 3 5 7 8 | 4 9 5 10 | 9 11 10 12 | 5 10 8 13 | 10 12 13 14 | 6 7 15 16 | 7 8 16 17 | 15 16 - - | 16 17 - - | 8 13 17 21 | 13 14 21 22 | 17 21 - - | 21 22 - - | +DEAL:0:2d::OK -**** proc 1 -level 0: 0 1 2 3 | -level 1: 0 1 2 3 | 1 4 3 5 | 2 3 6 7 | 3 5 7 8 | -level 2: - - 2 3 | - - 3 5 | 2 3 6 7 | 3 5 7 8 | - - 5 10 | - - 10 12 | 5 10 8 13 | 10 12 13 14 | 6 7 15 16 | 7 8 16 17 | 15 16 18 19 | 16 17 19 20 | 8 13 17 21 | 13 14 21 22 | 17 21 20 23 | 21 22 23 24 | +DEAL:1:2d::level 0: 0 1 2 3 | +DEAL:1:2d::level 1: 0 1 2 3 | 1 4 3 5 | 2 3 6 7 | 3 5 7 8 | +DEAL:1:2d::level 2: - - 2 3 | - - 3 5 | 2 3 6 7 | 3 5 7 8 | - - 5 10 | - - 10 12 | 5 10 8 13 | 10 12 13 14 | 6 7 15 16 | 7 8 16 17 | 15 16 18 19 | 16 17 19 20 | 8 13 17 21 | 13 14 21 22 | 17 21 20 23 | 21 22 23 24 | -DEAL:0:2d::OK diff --git a/tests/mpi/mg_04/ncpu_4/cmp/generic b/tests/mpi/mg_04/ncpu_4/cmp/generic index 70c4304325..48d06071a7 100644 --- a/tests/mpi/mg_04/ncpu_4/cmp/generic +++ b/tests/mpi/mg_04/ncpu_4/cmp/generic @@ -1,23 +1,21 @@ DEAL:0:2d::hyper_cube -**** proc 0 -level 0: 0 1 2 3 | -level 1: 0 1 2 3 | 1 4 3 5 | 2 3 6 7 | 3 5 7 8 | -level 2: 0 1 2 3 | 1 4 3 5 | 2 3 6 7 | 3 5 7 8 | 4 9 5 10 | 9 - 10 - | 5 10 8 13 | 10 - 13 - | 6 7 15 16 | 7 8 16 17 | 15 16 - - | 16 17 - - | 8 13 17 21 | 13 - 21 - | 17 21 - - | 21 - - - | +DEAL:0:2d::level 0: 0 1 2 3 | +DEAL:0:2d::level 1: 0 1 2 3 | 1 4 3 5 | 2 3 6 7 | 3 5 7 8 | +DEAL:0:2d::level 2: 0 1 2 3 | 1 4 3 5 | 2 3 6 7 | 3 5 7 8 | 4 9 5 10 | 9 - 10 - | 5 10 8 13 | 10 - 13 - | 6 7 15 16 | 7 8 16 17 | 15 16 - - | 16 17 - - | 8 13 17 21 | 13 - 21 - | 17 21 - - | 21 - - - | +DEAL:0:2d::OK -**** proc 1 -level 0: 0 1 2 3 | -level 1: 0 1 2 3 | 1 4 3 5 | 2 3 6 7 | 3 5 7 8 | -level 2: - 1 - 3 | 1 4 3 5 | - 3 - 7 | 3 5 7 8 | 4 9 5 10 | 9 11 10 12 | 5 10 8 13 | 10 12 13 14 | - 7 - 16 | 7 8 16 17 | - 16 - - | 16 17 - - | 8 13 17 21 | 13 14 21 22 | 17 21 - - | 21 22 - - | +DEAL:1:2d::level 0: 0 1 2 3 | +DEAL:1:2d::level 1: 0 1 2 3 | 1 4 3 5 | 2 3 6 7 | 3 5 7 8 | +DEAL:1:2d::level 2: - 1 - 3 | 1 4 3 5 | - 3 - 7 | 3 5 7 8 | 4 9 5 10 | 9 11 10 12 | 5 10 8 13 | 10 12 13 14 | - 7 - 16 | 7 8 16 17 | - 16 - - | 16 17 - - | 8 13 17 21 | 13 14 21 22 | 17 21 - - | 21 22 - - | -**** proc 2 -level 0: 0 1 2 3 | -level 1: 0 1 2 3 | 1 4 3 5 | 2 3 6 7 | 3 5 7 8 | -level 2: - - 2 3 | - - 3 5 | 2 3 6 7 | 3 5 7 8 | - - 5 10 | - - 10 - | 5 10 8 13 | 10 - 13 - | 6 7 15 16 | 7 8 16 17 | 15 16 18 19 | 16 17 19 20 | 8 13 17 21 | 13 - 21 - | 17 21 20 23 | 21 - 23 - | -**** proc 3 -level 0: 0 1 2 3 | -level 1: 0 1 2 3 | 1 4 3 5 | 2 3 6 7 | 3 5 7 8 | -level 2: - - - 3 | - - 3 5 | - 3 - 7 | 3 5 7 8 | - - 5 10 | - - 10 12 | 5 10 8 13 | 10 12 13 14 | - 7 - 16 | 7 8 16 17 | - 16 - 19 | 16 17 19 20 | 8 13 17 21 | 13 14 21 22 | 17 21 20 23 | 21 22 23 24 | +DEAL:2:2d::level 0: 0 1 2 3 | +DEAL:2:2d::level 1: 0 1 2 3 | 1 4 3 5 | 2 3 6 7 | 3 5 7 8 | +DEAL:2:2d::level 2: - - 2 3 | - - 3 5 | 2 3 6 7 | 3 5 7 8 | - - 5 10 | - - 10 - | 5 10 8 13 | 10 - 13 - | 6 7 15 16 | 7 8 16 17 | 15 16 18 19 | 16 17 19 20 | 8 13 17 21 | 13 - 21 - | 17 21 20 23 | 21 - 23 - | + + +DEAL:3:2d::level 0: 0 1 2 3 | +DEAL:3:2d::level 1: 0 1 2 3 | 1 4 3 5 | 2 3 6 7 | 3 5 7 8 | +DEAL:3:2d::level 2: - - - 3 | - - 3 5 | - 3 - 7 | 3 5 7 8 | - - 5 10 | - - 10 12 | 5 10 8 13 | 10 12 13 14 | - 7 - 16 | 7 8 16 17 | - 16 - 19 | 16 17 19 20 | 8 13 17 21 | 13 14 21 22 | 17 21 20 23 | 21 22 23 24 | -DEAL:0:2d::OK