From: Guido Kanschat Date: Sun, 13 Sep 2009 17:38:36 +0000 (+0000) Subject: new class BlockInfo X-Git-Tag: v8.0.0~7123 X-Git-Url: https://gitweb.dealii.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=724a9997ce3c8b2b47505af43c865d03abb9a992;p=dealii.git new class BlockInfo git-svn-id: https://svn.dealii.org/trunk@19450 0785d39b-7218-0410-832d-ea1e28bc413d --- diff --git a/tests/deal.II/Makefile b/tests/deal.II/Makefile index 52506660a3..4e19b4e270 100644 --- a/tests/deal.II/Makefile +++ b/tests/deal.II/Makefile @@ -21,7 +21,7 @@ default: run-tests ############################################################ -tests_x = block_matrices \ +tests_x = block_info block_matrices \ user_data_* \ constraints \ constraint_graph \ diff --git a/tests/deal.II/block_info.cc b/tests/deal.II/block_info.cc new file mode 100644 index 0000000000..080fea7644 --- /dev/null +++ b/tests/deal.II/block_info.cc @@ -0,0 +1,103 @@ +//---------------------------------------------------------------------- +// $Id$ +// Version: $Name$ +// +// Copyright (C) 2009 by the deal.II authors +// +// This file is subject to QPL and may not be distributed +// without copyright and license information. Please refer +// to the file deal.II/doc/license.html for the text and +// further information on this license. +// +//---------------------------------------------------------------------- + +#include "../tests.h" +#include +#include +#include +#include +#include +#include +#include +#include + + +template +void test_grid(const Triangulation& tr, + const FiniteElement& fe) +{ + MGDoFHandler mgdof(tr); + mgdof.distribute_dofs(fe); + BlockInfo bi; + bi.initialize(mgdof); + bi.initialize_local(mgdof); + + deallog << "Global dofs " << mgdof.n_dofs() << std::endl; + deallog << "Global blocks "; + for (unsigned int i=0;i renumbered(fe.dofs_per_cell); + + deallog << "Renumbering "; + for (unsigned int i=0;i +void test_fe (const FiniteElement& fe) +{ + Triangulation tr; + GridGenerator::hyper_cube(tr); + tr.refine_global(5-dim); + test_grid(tr, fe); +} + + +int main () +{ + std::ofstream logfile("block_info/output"); + deallog.attach(logfile); + deallog.depth_console(10); + + FE_Q<2> q21(1); + FE_Q<2> q22(2); + FESystem<2> s2(q21, 3, q22, 2); + + test_fe(q21); + test_fe(q22); + test_fe(s2); + + FE_Q<3> q31(1); + FE_Q<3> q32(2); + FESystem<3> s3(q31, 3, q32, 2); + + test_fe(q31); + test_fe(q32); + test_fe(s3); +} diff --git a/tests/deal.II/block_info/cmp/generic b/tests/deal.II/block_info/cmp/generic new file mode 100644 index 0000000000..221ae3f4d1 --- /dev/null +++ b/tests/deal.II/block_info/cmp/generic @@ -0,0 +1,40 @@ + +DEAL::Global dofs 81 +DEAL::Global blocks 81 +DEAL::Level dofs 4 +DEAL::Level block[0] 4 +DEAL::Level dofs 9 +DEAL::Level block[1] 9 +DEAL::Level dofs 25 +DEAL::Level block[2] 25 +DEAL::Level dofs 81 +DEAL::Level block[3] 81 +DEAL::Local blocks 4 +DEAL::Renumbering 0 1 2 3 +DEAL::Inverse 0 1 2 3 +DEAL::Global dofs 289 +DEAL::Global blocks 289 +DEAL::Level dofs 9 +DEAL::Level block[0] 9 +DEAL::Level dofs 25 +DEAL::Level block[1] 25 +DEAL::Level dofs 81 +DEAL::Level block[2] 81 +DEAL::Level dofs 289 +DEAL::Level block[3] 289 +DEAL::Local blocks 9 +DEAL::Renumbering 0 1 2 3 4 5 6 7 8 +DEAL::Inverse 0 1 2 3 4 5 6 7 8 +DEAL::Global dofs 821 +DEAL::Global blocks 81 81 81 289 289 +DEAL::Level dofs 30 +DEAL::Level block[0] 4 4 4 9 9 +DEAL::Level dofs 77 +DEAL::Level block[1] 9 9 9 25 25 +DEAL::Level dofs 237 +DEAL::Level block[2] 25 25 25 81 81 +DEAL::Level dofs 821 +DEAL::Level block[3] 81 81 81 289 289 +DEAL::Local blocks 4 4 4 9 9 +DEAL::Renumbering 0 4 8 12 21 1 5 9 13 22 2 6 10 14 23 3 7 11 15 24 16 25 17 26 18 27 19 28 20 29 +DEAL::Inverse 0 5 10 15 1 6 11 16 2 7 12 17 3 8 13 18 20 22 24 26 28 4 9 14 19 21 23 25 27 29