From: wolf Date: Wed, 24 Mar 2004 20:19:44 +0000 (+0000) Subject: . X-Git-Url: https://gitweb.dealii.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=953609ae612cc5a2b630231af6b3a9fba9d99c53;p=dealii-svn.git . git-svn-id: https://svn.dealii.org/trunk@8866 0785d39b-7218-0410-832d-ea1e28bc413d --- diff --git a/tests/bits/subdomain_ids_05.cc b/tests/bits/subdomain_ids_05.cc new file mode 100644 index 0000000000..41753b50ac --- /dev/null +++ b/tests/bits/subdomain_ids_05.cc @@ -0,0 +1,102 @@ +//---------------------------- subdomain_ids_05.cc --------------------------- +// $Id$ +// Version: $Name$ +// +// Copyright (C) 2001, 2002, 2003, 2004 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. +// +//---------------------------- subdomain_ids_05.cc --------------------------- + +// check DoFTools::count_dofs_with_subdomain_association + + +#include "../tests.h" +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include +#include + + +std::ofstream logfile("subdomain_ids_05.output"); + + +template +void test () +{ + deallog << dim << 'D' << std::endl; + Triangulation tria; + GridGenerator::hyper_cube(tria, -1, 1); + tria.refine_global (2); + + // we now have a number of cells, + // flag them with some subdomain + // ids based on their position, in + // particular we take the quadrant + // (octant) + typename Triangulation::active_cell_iterator + cell = tria.begin_active (), + endc = tria.end (); + for (; cell!=endc; ++cell) + { + unsigned int subdomain = 0; + for (unsigned int d=0; dcenter()(d) > 0) + subdomain |= (1<set_subdomain_id (subdomain); + }; + + // distribute some degrees of freedom and + // output some information on them + FESystem fe(FE_Q(2),dim, FE_DGQ(1), 1); + DoFHandler dof_handler (tria); + dof_handler.distribute_dofs (fe); + deallog << dof_handler.n_dofs() << std::endl; + + std::vector subdomain_association (dof_handler.n_dofs()); + DoFTools::get_subdomain_association (dof_handler, + subdomain_association); + for (unsigned int subdomain=0; subdomain<(1< + (std::count (subdomain_association.begin(), + subdomain_association.end(), subdomain)) + == + DoFTools::count_dofs_with_subdomain_association (dof_handler, + subdomain), + ExcInternalError()); + + deallog << "OK" << std::endl; +} + + +int main () +{ + logfile.precision(4); + deallog.attach(logfile); + deallog.depth_console(0); + + test<1> (); + test<2> (); + test<3> (); + + return 0; +} diff --git a/tests/results/i686-pc-linux-gnu+gcc3.2/bits/subdomain_ids_05.output b/tests/results/i686-pc-linux-gnu+gcc3.2/bits/subdomain_ids_05.output new file mode 100644 index 0000000000..5ba8baa18d --- /dev/null +++ b/tests/results/i686-pc-linux-gnu+gcc3.2/bits/subdomain_ids_05.output @@ -0,0 +1,10 @@ + +DEAL::1D +DEAL::17 +DEAL::OK +DEAL::2D +DEAL::226 +DEAL::OK +DEAL::3D +DEAL::2699 +DEAL::OK